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
}
}
merci beaucoup. J'ai ajouté la valeur, mais ce n'est pas visible dans mon API de User.Claims –
avez-vous ajouté la portée et le type de revendication dans IdentityServer dbo.IdentityResources & dbo.IdentityClaims ?? –
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 ... –