2013-05-16 17 views
5

Secondo la discussione https://groups.google.com/forum/#!forum/oauth2-dev ora è qui.Google OAuth2 Refresh_token scade quando Access_token fa

Non importa quante letture faccio, non riesco a capire come funzionano i token Google OAuth2. La lettura dei documenti e di molti altri luoghi suggerisce che un refresh_token non scade e viene utilizzato una volta scaduto il token di accesso. Vedere la documentazione ufficiale a https://developers.google.com/accounts/docs/OAuth2WebServer#refresh

Tuttavia, in pratica sembra funzionare come descritto da Paul (Unable to refresh token after expiration) che il token di aggiornamento scade quando il token di accesso scade.

Un tecnico Google può confermare quale dovrebbe essere il comportamento corretto in quanto sembra essere un caso di comportamento e documentazione non corrispondente.

Rende inoltre inutilizzabile il token di aggiornamento.

risposta

7

Se si richiede access_type=offline al momento della richiesta iniziale di https://accounts.google.com/o/oauth2/auth allora si otterrà indietro un token di aggiornamento con il token di accesso. This is documented here.

Il token di aggiornamento non ha scadenza, finché l'utente non revoca esplicitamente l'accesso dalla pagina Account -> Security -> "Connected applications and sites".

L'altro post a cui è collegato sembra essere correlato a SoundCloud, che presumibilmente fa le cose in modo leggermente diverso.

+1

Grazie Dean. Dopo alcune indagini utilizzando Google Oauth2 Playground, posso confermare che refresh_tokens sono entrambi validi dopo la scadenza del token di accesso e possono essere utilizzati indipendentemente dallo stato del token di accesso. (Alcuni avevano suggerito che non avrebbe funzionato fino a quando il token di accesso non fosse scaduto). La mia difficoltà sembra essere stata l'escaping del refresh_token dalla libreria che stavo usando, e quindi l'ulteriore escape dalla libreria sulla visualizzazione del token. Usando il parco giochi di OAuth2 mi sono reso conto che i miei token non sembravano corretti visto che avevano i caratteri di escape extra –

+0

Non riesco a ottenere un token di aggiornamento anche con access_type = offline :( http://stackoverflow.com/questions/27678496/google-oauth- access-token-expiration-in-mvc-app – monstro

+0

è un modo per controllare se il mio token di accesso di aggiornamento è stato revocato o meno prima di utilizzarlo ..? – usama

Problemi correlati