0

Voici ma structure.Obtenir un courrier électronique à partir de IdentityServer 4 en utilisant ASPNetIdentity

-Asp.Net C# Application avec IdentityServer 4 utilisée pour enregistrer et authentifier un utilisateur.

-Asp.Net C API # Web qui servent certains services qui ont utilisé Identity4Server à nouveau un utilisateur

l'application -Angular 4 avec OCID-client qui utilisent le ASP.Net C# application pour authentifier l'application angulaire.

Question: En fait, lorsque j'imprime les revendications d'utilisateur authentifiées dans l'application API Web, l'e-mail de l'utilisateur n'apparaît pas. Y at-il un moyen de le voir dans la revendication.

En application API WEB

if (User.Identity.IsAuthenticated) 
    { 
     var claims = User.Claims.ToList(); 
     //Would like to see the User Email Informations 
     var AspnetUserId = User.Claims.FirstOrDefault(p => p.Type == "sub").Value; 

     this.ContactService.UpdateUserProfile(AspnetUserId,profile); 
    } 

Dans Indentity Application Server

 new Client 
     { 
      ClientId = "tgc", 
      ClientName = "Tag Twee Client Angular", 
      AllowedGrantTypes = GrantTypes.Implicit, 

      RequireConsent = false, 
      AllowAccessTokensViaBrowser = true, 
      RedirectUris = { "http://localhost:5002/login" }, 
      PostLogoutRedirectUris = { "http://localhost:5002/logout" }, 
      AllowedCorsOrigins = { "http://localhost:5002" }, 
      AllowedScopes = 
      { 
       IdentityServerConstants.StandardScopes.OpenId, 
       IdentityServerConstants.StandardScopes.Profile, 
       "TTAPI", 
       IdentityServerConstants.StandardScopes.Email 
      } 
     } 

Répondre

0

vous devez ajouter de la valeur dans dbo.AspNetUserClaims (dans la base ASPNetIdentity) la IdentityServer4 obtiendra la valeur à partir de cette table et définir dans les revendications des utilisateurs.

+0

merci beaucoup. J'ai ajouté la valeur, mais ce n'est pas visible dans mon API de User.Claims –

+0

avez-vous ajouté la portée et le type de revendication dans IdentityServer dbo.IdentityResources & dbo.IdentityClaims ?? –

+0

oui je fais, maintenant je vois quelque chose dans l'API mais. Je ne vois Scope comme Type de réclamations et Email comme valeur ... –