IDX10501: Ошибка проверки подписи. Azure SSO WS-Federation - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь настроить Azure в качестве поставщика удостоверений для федеративного входа в систему с нашим приложением. Кажется, это должно быть достаточно просто и все же ...

код:

private void ConfigureSAML2()
    {
        Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;

        App.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
        App.UseCookieAuthentication(new CookieAuthenticationOptions());

        App.UseWsFederationAuthentication(
            new WsFederationAuthenticationOptions
            {
                Wtrealm = "75d8479b-5530-4e93-a685-fc0d6847c453",
                MetadataAddress = "https://login.microsoftonline.com/17ea2b4e-7ce9-4eb4-9d1a-6d7da51f1421/federationmetadata/2007-06/federationmetadata.xml",
                Notifications = new WsFederationAuthenticationNotifications
                {
                    AuthenticationFailed = context =>
                    {
                        context.HandleResponse();
                        context.Response.Redirect(ConfigurationService.BaseURL + "#/authentication?failed=true&message=" + context.Exception.Message);
                        return Task.FromResult(0);
                    }
                }
            });
    }

К сожалению, он продолжает вызывать ошибку с Exception.Message = "IDX10501: проверка подписи не удалась. Невозможно сопоставить ключи: kid: 'Microsoft.IdentityModel.Xml.KeyInfo', токен: 'Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityToken »«. и Exception.StackTrace =

в Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateSignature (строковый токен, TokenValidationParameters validationParameters) в Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateToken (строковый токен, TokenValidationParameters validationParameters, SecurityToken & validatedToken) в Microsoft.Owin.Security.WsFederation.WsFederationAuthenticationHandler.d__8.MoveNext ()

Странно, когда я вижу, что Azure посылает мне, утверждения выглядят вполне законно. Я могу видеть свое имя, фамилию, адрес электронной почты и т. Д. В целости и сохранности. Я испытываю желание разбить и взять то, что мне нужно, из ответа, но я бы предпочел, чтобы промежуточное программное обеспечение работало правильно.

Я думал, что мое значение Wtrealm выглядит странно, но это единственный способ, которым Azure знает, о чем я говорю. У меня проблемы с поиском множества примеров WS-Federation с Azure. К сожалению, OpenId Connect не подходит для нас (кстати, у нас это уже работало).

...