Регистрация отклика отклика конфигурации - PullRequest
0 голосов
/ 28 марта 2020

Я не очень хорошо знаком с тем, как работает open id, но я использую приведенный ниже код для аутентификации Open id. Поэтому, если у меня есть правильный токен, он проходит, и я получаю требуемый ответ. Однако, когда токен неверен, я вижу, что код повторяется несколько раз на IssuerSigningKeyResolver, и я получаю запрещенный ответ. Мне интересно, как записать фактический ответ, чтобы я мог знать причину сбоя.

        var authority = OpenIDConfiguration.Authority;

        var configurationManager = new ConfigurationManager<OpenIdConnectConfiguration>(
           authority + "/.well-known/openid-configuration",
           new OpenIdConnectConfigurationRetriever(),
           new HttpDocumentRetriever());

        app.UseJwtBearerAuthentication(
            new JwtBearerAuthenticationOptions
            {

                AuthenticationMode = AuthenticationMode.Active,
                TokenValidationParameters = new TokenValidationParameters()
                {
                    ValidAudience = OpenIDConfiguration.ClientId,
                    ValidIssuer = authority,
                    IssuerSigningKeyResolver = (token, securityToken, identifier, parameters) =>
                    {
                        var discoveryDocument = Task.Run(() => configurationManager.GetConfigurationAsync()).GetAwaiter().GetResult();
                        return discoveryDocument.SigningKeys;
                    }
                }
            });
...