web-dev-qa-db-fra.com

Les jetons d'actualisation Google expirent-ils?

J'ai utilisé le jeton d'actualisation à plusieurs reprises en peu de temps à des fins de test, mais je me demande si le jeton d'actualisation Google expire? Ou je peux appeler le même jeton d'actualisation pour obtenir un autre jeton d'accès encore et encore sur une longue période (une semaine ou même des mois)?

98

Les jetons d'actualisation émis par le serveur Google Auth émis n'expirent jamais - c'est tout l'intérêt des jetons d'actualisation. Le jeton d'actualisation expirera (ou devrais-je dire deviendra non autorisé) lorsque l'utilisateur annulera l'accès à votre application.

Reportez-vous à cette doc elle indique clairement la fonction de jeton d'actualisation.

Au lieu d'émettre un jeton de longue durée (généralement une durée d'un an ou une durée de vie illimitée), le serveur peut émettre un jeton d'accès de courte durée et un jeton d'actualisation de longue durée. En bref, vous pouvez utiliser les jetons d'actualisation à plusieurs reprises jusqu'à ce que l'utilisateur qui a autorisé l'accès révoque l'accès à votre application.

134
Shadow

Ceci est un fil très déroutant. La première réponse semble être juste, mais ne cite pas quelque chose d'autorité de Google.

La réponse la plus définitive que j'ai trouvée est en réalité dans la cour du développeur où vous obtenez le jeton. L'étape 2 comporte une note en bas qui dit:

"Remarque: le OAuth Playground ne stocke pas les jetons d'actualisation, mais comme les jetons d'actualisation n'expirent jamais, l'utilisateur doit accéder à la page Accès autorisé à leur compte Google s'ils souhaitent les révoquer manuellement."

https://developers.google.com/oauthplayground/

52
Josh Hunter

Je ne pense pas que ce soit tout à fait vrai:

Notez qu'il y a des limites sur le nombre de jetons d'actualisation qui seront émis; une limite par combinaison client/utilisateur et une autre par utilisateur sur tous les clients. Vous devez enregistrer les jetons d'actualisation dans le stockage à long terme et continuer à les utiliser tant qu'ils restent valables. Si votre application demande trop de jetons d'actualisation, elle risque de rencontrer ces limites. Dans ce cas, les anciens jetons d'actualisation cesseront de fonctionner.

depuis cette page: https://developers.google.com/youtube/v3/guides/authentication#installed-apps

Cela provient des documents YouTube (que je trouve beaucoup mieux que les autres documents Api), mais je pense que c'est la même chose dans toutes les applications Google.

14
Roaders

regarde ça:

Les jetons d'actualisation sont valables jusqu'à ce que l'utilisateur révoque l'accès. Ce champ n'est présent que si access_type = offline est inclus dans la demande de code d'autorisation.

dans https://developers.google.com/accounts/docs/OAuth2WebServer

4
karl

Les règles ont changé à ce sujet en 2017, alors la meilleure réponse à mon avis est que cela dépend du produit. Par exemple, sur l'API Gmail, le jeton d'actualisation Oauth 2.0 expire lorsque le mot de passe est modifié. Voir https://support.google.com/a/answer/6328616?hl=fr = en

Nous avions l'habitude de configurer à l'avance l'accès aux API et de générer des jetons d'actualisation lorsque nous configurions les NOUVEAUX utilisateurs de gmail, puis nous pouvions archiver leur courrier (nous sommes tenus de le faire par la loi), mais dès qu'ils changent de mot de passe, le jeton d'actualisation est révoqué.

Peut-être que pour les cartes et youtube, le jeton d'actualisation dure encore très longtemps, mais pour les API gmail, comptez sur un jeton court.

3
TonyE

Le concept principal du jeton d'actualisation est qu'il dure longtemps et n'expire jamais.

Le jeton d'accès a une heure d'expiration et il expire. Une fois ce délai expiré, nous pouvons utiliser le jeton d'actualisation, qui sera utilisé encore et encore jusqu'à ce que l'utilisateur révoque son compte.

2
Shiven Ojha