Est-il possible d'obtenir un jeton d'accès généré à partir des implémentations IExtensionGrantValidator
ou ICustomTokenRequestValidator
ou je dois implémenter un autre validateur? Je ne trouve aucune propriété à partir de laquelle je peux obtenir un jeton d'accès.Jeton d'accès IdentityServer4 get
Répondre
Eh bien, dans le contexte de la récupération initiale d'IdentityServer, le jeton est dans la propriété AccessToken
de l'instance TokenResponse
retournée. A partir d'une application ASP.NET Core authentifiant via IdentityServer, le fait qu'elle provient d'IdentityServer est sans conséquence. Générallement, pour récupérer un jeton d'accès, vous devez utiliser:
using Microsoft.AspNetCore.Authentication;
...
var token = await HttpContext.GetTokenAsync("access_token");
La propriété 'AccessToken' peut être utilisée uniquement sur le client. 'wait HttpContext.GetTokenAsync (" access_token ");' retourne toujours null dans mon contexte. – developer
@developer Si vous obtenez null alors il doit y avoir quelque chose de mal dans la configuration du client. Quel middleware d'authentification utilisez-vous? – MJK
Qu'essayez-vous de faire? Dans quel contexte essayez-vous de récupérer le jeton? –
@ChrisPratt J'ai deux scénarios: 1. J'envoie une requête web au point de terminaison token, où je donne au client quelques revendications supplémentaires, 2. Je redirige du site vers la page de connexion IS4, où je m'authentifie et redirige vers le site. Dans les deux cas, je dois enregistrer les jetons d'accès générés. Je ne trouve aucune information sur la façon dont les jetons d'accès pourraient être obtenus. – developer