Я пытаюсь интегрировать свой веб-сервис для аутентификации с использованием Azure AD. Ответ от Azure AD меняется каждый раз. Когда я открываю свой сайт в обычном браузере Firefox, IsAuthenticated as true.Azure AD API возвращает System.Security.Principal.GenericIdentity.IsAuthenticated как false всегда
Открытие в частном браузере, то IsAuthenticated ложно.
Единственная разница я могу увидеть, то IsAuthenticated правда от ClaimsIdentity и IsAuthenticated ложь от GenericIdentity.
Следующий мой код запуска.auth.
public partial class Startup
{
private static string clientId = ConfigurationManager.AppSettings["ClientId"];
private static string aadInstance = ConfigurationManager.AppSettings["AADInstance"];
private static string tenantId = ConfigurationManager.AppSettings["TenantId"];
private static string postLogoutRedirectUri = ConfigurationManager.AppSettings["PostLogoutRedirectUri"];
private static string authority = aadInstance + tenantId;
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
});
}
}
Ниже мой код, чтобы отправить запрос на проверку подлинности на AzureAD
public void LoginUsingAzure()
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
Вы говорите, что открыли личное окно, а затем не вошли? Поскольку частное окно не обменивается сеансами с другим окном. – juunas
эта проблема также воспроизводится в обычном окне. после входа на мой сайт в обычном браузере, затем очистки кеша и файлов cookie в браузере, и когда я попытаюсь снова войти в систему, я столкнулся с этой проблемой. эта проблема воспроизводится во всех браузерах. Есть ли что-то, что мне нужно настроить на портале Azure AD? –
Очистка файлов cookie: вы также не очищаете cookie проверки подлинности ASP.NET? Разве это не ожидало, что он скажет, что вы не аутентифицированы? Признание GenericIdentity означает, что вы еще не прошли аутентификацию. – juunas