ADFS Application Native Jeton d'Accès des Revendications Manquantes

Je suis en train d'authentifier application WPF qui communique avec mon ASP.NET MVC de l'API à l'aide de ADFS. J'ai réussi à obtenir le jeton d'accès et de l'utiliser pour bien passer l' Authorize attribut, mais j'ai remarqué que le jeton d'accès manque crucial de créances (par exemple, upn) que je voudrais utiliser pour unique d'identification de l'utilisateur dans l'API de contrôleurs. J'ai aussi remarqué que IdToken de chaîne et de UserInfo objet sont disponibles avec l' AccessToken chaîne dans le AuthenticationResult objet après une authentification réussie et qu'ils contiennent tous les deux le bon upn valeur.

Le problème est que je ne peut pas utiliser le IdToken, avec l'autorisation de l'en-tête que je reçois l' Unauthorized erreur de réponse.

Je suis en utilisant le Microsoft.IdentityModel.Clients.ActiveDirectory dans mon application client et le Microsoft.Owin.Security.ActiveDirectory de la bibliothèque dans l'API.

Code Client:

var authRes = await authCtx.AcquireTokenAsync(resourceAddress, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Auto)); //resourceAddress equals the API url

Code de l'API:

       app.UseActiveDirectoryFederationServicesBearerAuthentication(
           new Microsoft.Owin.Security.ActiveDirectory.ActiveDirectoryFederationServicesBearerAuthenticationOptions
           {
               MetadataEndpoint = ConfigurationManager.AppSettings["ida:AdfsMetadataEndpoint"],  //standard ADFS metadata endpoint
               TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
               {
                   ValidAudience = ConfigurationManager.AppSettings["ida:Audience"] // API url
               }, 
           });

Il y a aussi une règle de réclamation configuré pour l'UPN de la valeur sur le serveur ADFS:

UPN règle

0
2019-09-17 15:06:05
source
0 réponses

Voir d'autres questions sur les étiquettes