2017-02-06 1 views
0

Я новичок в OpenID Connect и Identity Server, я пытаюсь настроить экземпляр тестового сервера, используя пример кода из IdentityServer3.Samples MVC Authentication проект. Проблема заключается в том, что я не вижу, где там находится настроенная конечная точка конфигурации. Я не уверен, как это сделать. Я много искал, как это сделать, но придумал пустой. Я также следовал за this article от Дилана Битти (минус ngrok), но, похоже, он игнорирует тот факт, что в проекте образца нет хорошо известной конечной точки. Как настроить конечную точку с открытым ключом/openid?Настройка конечной точки с проверкой подлинности/openid-конфигурации в Identity Server

ответ

1

Discovery конечная точка реализована в самой IdentityServer3:

WebApiConfig.cs

if (options.Endpoints.EnableDiscoveryEndpoint) 
      { 
       config.Routes.MapHttpRoute(
        Constants.RouteNames.Oidc.DiscoveryConfiguration, 
        Constants.RoutePaths.Oidc.DiscoveryConfiguration, 
new { controller = "DiscoveryEndpoint", action = "GetConfiguration" }); 

Вот контроллер DiscoveryEndpoint DiscoveryEndpointController.cs

/// <summary> 
/// GET 
/// </summary> 
/// <returns>Discovery document</returns> 
    [HttpGet] 
    public async Task<IHttpActionResult> GetConfiguration() 
    { 
     Logger.Info("Start discovery request"); 

     var baseUrl = Request.GetIdentityServerBaseUrl(); 
     var allScopes = await _scopes.GetScopesAsync(publicOnly: true); 
     var showScopes = new List<Scope>(); 
+0

Спасибо за указание, что, я скачал источник и увидеть, что контроллер и конфиг. Тем не менее, я изо всех сил пытаюсь понять, как я могу включить это в образец проверки подлинности MVC. Я не новичок в веб-API и MVC, но этот материал OpenId является новым. Я предполагаю, что мне придется взять контроллер обнаружения и конфигурацию вместе со всеми зависимостями и поместить их в проект MVC Authentication, если я хочу эту функциональность? – AK3800

+0

@ AK3800 Вам не нужно ничего строить, это часть библиотеки (которую я предполагаю, что вы устанавливаете через nuget). Межплатформенное ПО должно заботиться о маршрутизации. – Nazar554

+0

Хорошо, я вижу, что теперь вы правы. Пример проекта MVC Authentication ссылается на DLL IdentityServer3. Когда я запускаю проект локально, я могу перейти к идентичной/хорошо известной/openid-конфигурации. Как только я развожу его в среду разработки, я получаю 404, пытаясь туда добраться. Я должен был заменить ссылки localhost в коде с именем сайта сайта разработки, и это может быть проблема, с которой я сталкиваюсь. Спасибо, что объяснили конечную точку конфигурации и откуда она появилась, это определенно помогает мне понять, чего я пропустил! – AK3800

Смежные вопросы