Не может получить информацию о претензиях при входе в Azure активный каталог B2B
Я не могу получить ClaimsPrincipal после входа в Azure Ad Web API, ниже мой код добавлен в startup.auth.cs
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
RedirectUri = redirectUri,
PostLogoutRedirectUri = redirectUri,
Scope= OpenIdConnectScope.OpenIdProfile,
ResponseType = OpenIdConnectResponseType.IdToken,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthenticationFailed = context =>
{
context.HandleResponse();
return Task.FromResult(0);
}
},
TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuer = false
},
});
Я получаю токен доступа в
result = await authContext.AcquireTokenAsync(todoListResourceId, clientCredential);
но не могу получить ClaimsPrincipal. Я получаю AuthenticationType = null, IsAuthenticated = null, Name = null.
Мое приложение использует adal.js для пользовательского интерфейса, чтобы получить информацию о пользователе и получить информацию о пользователе успешно.
1 ответ
Я получил решение для этой проблемы.
app.UseWindowsAzureActiveDirectoryBearerAuthentication( new WindowsAzureActiveDirectoryBearerAuthenticationOptions { TokenValidationParameters = new TokenValidationParameters { SaveSigninToken = true, ValidAudience = ConfigurationManager.AppSettings["ida:ClientId"], AuthenticationType = "Bearer" }, Tenant = ConfigurationManager.AppSettings["ida:Tenant"], });
этот код и работает нормально