J'essaie d'intégrer mon service Web pour l'authentification à l'aide d'Azure AD. La réponse d'Azure AD varie chaque fois. Quand j'ouvre mon site dans le navigateur normal de firefox, l'IsAuthenticated est vrai.L'API Azure AD renvoie System.Security.Principal.GenericIdentity.IsAuthenticated comme étant toujours false
Ouverture dans un navigateur privé, le IsAuthenticated est faux.
La seule différence que je peux voir est, le vrai isAuthenticated est de ClaimsIdentity et isAuthenticated faux est de GenericIdentity.
Ce qui suit est mon code startup.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
});
}
}
Voici mon code pour envoyer la demande d'authentification à AzureAD
public void LoginUsingAzure()
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
Êtes-vous en train de dire que vous avez ouvert une fenêtre privée et que vous ne vous êtes pas connecté? Parce que la fenêtre privée ne partage pas les sessions avec l'autre fenêtre. – juunas
ce problème est également reproduit dans une fenêtre normale. après m'être connecté à mon site dans un navigateur normal, puis effacer le cache et les cookies dans le navigateur, et quand j'essaye de me connecter à nouveau, je suis confronté à ce problème. Ce problème se reproduit dans tous les navigateurs. Y a-t-il quelque chose que j'ai besoin de configurer dans le portail Azure AD? –
En effaçant les cookies, n'effacez-vous pas le cookie d'authentification ASP.NET? N'est-il pas un peu attendu qu'il dirait alors que vous n'êtes pas authentifié? Le GenericIdentity étant là signifie simplement que vous n'avez pas encore authentifié. – juunas