J'ai utilisé le jeton d'actualisation plusieurs fois en une courte période à des fins de test, mais je me demande si les jetons d'actualisation Google expirent un jour? Puis-je utiliser le même jeton d'actualisation pour obtenir un autre jeton d'accès encore et encore pendant une longue période (une semaine, voire des mois)?
api
google-api
token
access-token
Robin Carlo Catacutan
la source
la source
Réponses:
Les jetons d'actualisation émis par le serveur Google Auth n'expirent jamais - c'est tout l'intérêt des jetons d'actualisation. Le jeton d'actualisation expirera (ou je devrais dire devenir non autorisé) lorsque l'utilisateur révoque l'accès à votre application.
Reportez-vous à ce document, il indique clairement la fonction des jetons d'actualisation.
la source
C'est un fil très déroutant. La première réponse semble correcte, mais ne cite en fait rien d'autorité de Google.
La réponse la plus définitive que j'ai trouvée se trouve en fait dans le terrain de jeu du développeur où vous obtenez le jeton. L'étape 2 a une note en bas qui dit:
https://developers.google.com/oauthplayground/
la source
Je ne pense pas que ce soit complètement vrai:
depuis cette page: https://developers.google.com/youtube/v3/guides/authentication#installed-apps
Cela provient des documents YouTube (que je trouve bien meilleurs que les autres documents api), mais je pense que c'est la même chose dans toutes les applications Google.
la source
regarde ça:
dans https://developers.google.com/accounts/docs/OAuth2WebServer
la source
Les règles ont changé à ce sujet en 2017, donc 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 lors du changement de mot de passe. Voir ceci https://support.google.com/a/answer/6328616?hl=en
Nous avions l'habitude de configurer l'accès aux API à l'avance et de générer des jetons d'actualisation lorsque nous configurions de NOUVEAUX utilisateurs de gmail, puis nous pouvions archiver leur courrier (nous sommes tenus de le faire par la loi), mais maintenant, dès qu'ils changent de mot de passe, le jeton d'actualisation est révoqué.
Peut-être que pour YouTube, les cartes, le jeton d'actualisation dure encore longtemps, mais pour l'api gmail, comptez sur un jeton court.
la source
Le concept principal du jeton d'actualisation est qu'il dure longtemps et n'expire jamais.
Le jeton d'accès a un délai d'expiration et il expire, une fois qu'il expire, nous pouvons aller chercher le jeton d'actualisation, qui sera utilisé encore et encore jusqu'à ce que l'utilisateur révoque son compte.
la source
Lisez ceci sur: https://developers.google.com/identity/protocols/oauth2#expiration Vous devez écrire votre code pour anticiper la possibilité qu'un jeton d'actualisation accordé ne fonctionne plus. Un jeton d'actualisation peut cesser de fonctionner pour l'une des raisons suivantes:
L'utilisateur a révoqué l'accès à votre application. Le jeton d'actualisation n'a pas été utilisé depuis six mois. L'utilisateur a modifié les mots de passe et le jeton d'actualisation contient des champs d'application Gmail. Le compte d'utilisateur a dépassé le nombre maximal de jetons d'actualisation accordés (en direct). Il existe actuellement une limite de 50 jetons d'actualisation par compte d'utilisateur et par client. Si la limite est atteinte, la création d'un nouveau jeton d'actualisation invalide automatiquement le jeton d'actualisation le plus ancien sans avertissement. Cette limite ne s'applique pas aux comptes de service.
Il existe également une limite plus élevée sur le nombre total de jetons d'actualisation qu'un compte d'utilisateur ou un compte de service peut avoir sur tous les clients. La plupart des utilisateurs normaux ne dépasseront pas cette limite, mais le compte de test d'un développeur pourrait le faire.
la source
J'ai fait quelques recherches supplémentaires et il semble que le jeton d'accès Google soit utilisé pour récupérer un jeton d'actualisation, lors de la première demande «hors ligne». À partir de ce moment, le jeton d'actualisation est utilisé pour émettre un nouveau jeton d'accès. L'idée est qu'un jeton d'accès est un jeton à court terme, mais il peut être renouvelé par un jeton d'actualisation à long terme. Cela supprime le besoin de demander la variable `` code '' de l'URL, qui nécessite une approche à deux points de terminaison et doit être initiée, à l'aide d'une requête basée sur le référent:
http://www.jensbits.com/2012/01/09/google-api-offline-access-using-oauth-2-0-refresh-token/
Certains services d'API REST comme Dropbox émettent des jetons d'accès qui durent éternellement, mais Google émet des jetons d'accès à court terme. PayPal utilise un compromis, par lequel il permet aux jetons d'accès d'être récupérés sans application de référent URI. Cela signifie que les jetons d'accès peuvent être récupérés sans avoir à cliquer sur un lien pour lancer le processus. La méthodologie de Google signifie que les routines d'API ne doivent être appelées qu'en cas de besoin. Essentiellement, les appels sont lancés via des procédures basées sur les référents. Ceci est contrôlé par l'émission de jetons d'accès de courte durée ou de jetons d'accès qui doivent être actualisés dans une chaîne. Cela oblige les développeurs à réfléchir plus attentivement à la manière dont un système doit fonctionner.
la source