IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Introducció

A Refresh Token is a special kind of token that can be used to obtain a renewed access token —that allows accessing a protected resource— at any time. You can request new access tokens until the refresh token expires. Refresh tokens must be stored securely by an application because they essentially allow a user to remain authenticated forever.

Com implementar?

PHP

Vegeu Laravel Passport

Javascript

Utilitzar un timer. Si per exemple fem una crida a Laravel passport i en retorna un acces token:

{
token_type: "Bearer",
expires_in: 46,
access_token: "TOKEN_HERE",
refresh_token: "REFRESH_TOKEN_HERE"
}

En aquest cas fixeu-vos expira en 46 segons. Un pràctica possible seria un cop rebut el token establir amb setTimeout una crida a refresh token per al cap de 23 segons (per anar segurs a la meitat del temps)

setTimeout(this.refreshToken, intervalMillisec);

On refreshToken seria una funció que fa una petició al grant refresh token per obtenir un nou token i torna a guardar el token i el token de refresh i a establir un nou timeout per a la meitat del temps en que expiri el token

NOTA: De fet no estaria de més assegurar-se que si pel que sigui no s'aconsegueix un refresh token a la meitat de temps (per exemple un error de xarxa) es tornes a provar més tard abans d'expirar i si finalment expirar tornar a logar l'usuari i tornar a començar

Un exemple:

Vegeu també

Enllaços externs