8 votes

Impossible d'obtenir le nom d'utilisateur / le prénom en utilisant angular-oauth2-oidc et Identity Server 4

Je suis l'exemple de flux de travail implicite de la documentation angular-oauth2-oidc.

Tout fonctionne bien dans mon application Angular, et je peux me connecter (pendant laquelle je suis redirigé vers le serveur d'identité), obtenir mon jeton et utiliser ce jeton pour accéder à mon Api Web.

Cependant, j'ai remarqué que la demande "given_name" est nulle, et donc, le nom d'utilisateur n'est pas affiché sur la page de connexion. Plus précisément, la méthode suivante de l'exemple de code semble retourner null :

public get name() {
    let claims = this.oauthService.getIdentityClaims();
    if (!claims) return null;
    return claims.given_name;
}

J'ai pensé qu'il s'agissait peut-être d'un problème de permissions, mais mon champ d'application est fixé à :

scope: 'openid profile email api1',

Une idée de ce que je dois changer pour obtenir cette demande de "given_name" ?

2voto

Setrákus Ra Points 229

Pour ceux qui ont rencontré le même problème. Vous pouvez le résoudre en ajoutant cette ligne AlwaysIncludeuserClaimsInIdToken=true dans le cadre du client.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X