В приложении ASP.NET MVC у меня есть две разные Active Directory, для первой Azure Active Directory (где я владелец и могу вносить изменения) я могу войти в систему и получить токен, но для второй Active Directory, предоставленнойклиент с тем же кодом C # Я получаю это исключение:
IDX10500: Ошибка проверки подписи. Невозможно разрешить SecurityKeyIdentifier: 'SecurityKeyIdentifier
(IsReadOnly = False, Count = 1,
Clause [0] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause)
Мой код:
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions() { ExpireTimeSpan = TimeSpan.FromDays(365) });
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
RedirectUri = postLogoutRedirectUri,
// TokenValidationParameters allows you to control the users who are allowed to sign in
// to your application. In this demo we only allow users associated with the specified tenant.
// If ValidateIssuer is set to false, anybody with a personal or work Microsoft account can
// sign in.
TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters()
{
ValidateIssuer = true,
ValidIssuer = tenant
},
// OpenIdConnect event handlers/callbacks.
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = OnAuthorizationCodeReceived,
AuthenticationFailed = OnAuthenticationFailed
}
});
}
Заранее спасибо, если вы поможете мне найти проблему и предложить решение.