J'ai une application ASP.NET Core utilisant ASP.NET Core Identity et essayant de m'authentifier sur Azure AD.Comment demander un jeton d'accès correct dans ASP.NET Core pour Azure AD pour accéder à Microsoft Graph
services.AddAuthentication()
.AddOpenIdConnect("AzureAD", "Azure AD", option =>
{
option.ClientId = Configuration["AzureAD:AppId"];
option.ClientSecret = "abc";
option.Authority = string.Format(Configuration["AzureAd:AadInstance"], Configuration["AzureAd:Tenant"]);
option.SignedOutRedirectUri = Configuration["AzureAd:PostLogoutRedirectUri"];
option.ResponseType = OpenIdConnectResponseType.CodeIdToken;
option.SaveTokens = true;
option.SignInScheme = IdentityConstants.ExternalScheme;
option.Events = new OpenIdConnectEvents
{
OnRemoteFailure = OnAuthenticationFailed,
};
});
Tout fonctionne correctement, l'utilisateur peut se connecter en utilisant ses informations d'identification.
Maintenant, j'essaie d'accéder à Microsoft Graph afin de recevoir l'adresse e-mail de l'utilisateur (ce n'est pas envoyé comme réclamation dans le id_token). Mais quand je l'utilise Received access_token du flux de connexion du graphe api renvoie une erreur:
Code: InvalidAuthenticationToken
Message: CompactToken parsing failed with error code: -2147184105
Quand je regarde le access_token il semble bizarre. Ce n'est pas un JWT valide. AQABAAAAAABHh4kmS_aKT5XrjzxRAtHzymKlkayx9UvCfyg_uHq1prmSP8f0Mi5BfiqkdIZeqJsBbm9SSbDbMrQ0JgNa6pa6M97IjVr6ZHdtt3ryT8vns_kz5BxkdJFkL79Ql3ywzyKldfLuX9jwq1eCgQ1MMdqKUDW4q5g38...
Qu'est-ce que je fais mal?
Merci, cela m'a aidé. Maintenant, j'ai un "vrai" jeton d'accès. Vos exemples de code de votre [GitHub repo] (https://github.com/juunas11/aspnetcore2aadauth) m'ont également aidé. Surtout obtenir un jeton d'accès spécial pour Microsoft Graph. –
S'il vous plaît envisager d'accepter comme réponse qui peut aider les autres qui rencontrent le même problème. –