J'utilise IdentityServer pour contrôler l'accès à une API. J'ai une API d'authentification distincte qui émet les jetons et valide les demandes d'accès pour sécuriser les API.Identity Server Refresh Token Propriétaire de la ressource Mot de passe Credential Flow
Je donne aux utilisateurs la possibilité de générer un jeton d'accès via une application Web sécurisée. J'utilise le flux d'informations d'identification du mot de passe du propriétaire de la ressource.
Y a-t-il un moyen de délivrer un jeton d'actualisation sans que l'utilisateur doive se connecter et le demander? Ou est-il possible de définir l'expiration du jeton d'accès initial?
code
C'est le code que je utilise pour générer des jetons.
DiscoveryResponse disco = await DiscoveryClient.GetAsync("http://localhost:27144");
TokenClient tokenClient = new TokenClient(disco.TokenEndpoint, "My Client", "MySecret");
TokenResponse tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync("testUser", "testPassword");
Pouvez-vous s'il vous plaît fournir plus d'informations? Si vous définissez 'AllowOfflineAccess = True', IdentityServer renvoie automatiquement un' refresh_token'. Vous pouvez également définir 'AccessTokenLifetime' ... – moritzg
@moritzg J'ai défini l'indicateur allowOfflineAccess sur true et défini la valeur absoluteRefreshTokenLifetime sur 31540000, ce qui devrait être une année. Toutefois, l'objet de réponse de jeton renvoie 3600 pour la propriété expiresIn. Je peux voir qu'un refresh_token est retourné aussi. Est-ce que je le passe dans l'en-tête d'autorisation? –
De quel jeton voulez-vous dire par "objet de réponse token"? – moritzg