4.2.4 - Rafraichir un token d’accès: refresh_token - Site étudiant de l'UTT

Vote pour les fonctionnalités du prochain site étu !
Voter

Logo du site Wiki UTT

4.2.4 - Rafraichir un token d’accès: refresh_token

Alors qu’avec client_credentials vous pouviez demander autant de token que vous vouliez, avec le authorization_code vous avez besion de l’approbation de l’utilisateur à chaque fois que vous voulez un token. Cependant, ces tokens ne durent qu’une heure : vous ne pouvez pas demander à l’utiisateur d’accepter votre application toutes les heures !

Le refresh_token est une solution à ce problème : ce token est valide un mois entier et permet de regérérer des tokens d’accès. Stockez donc le en base de donnée, il est important !

Par exemple, avec le refresh_token ci-dessus :

<?php

$client = new Client([
    'base_url' => 'https://etu.utt.fr/',
    'defaults' => [
        'auth' => ['<client_id>', '<client_secret>']
    ]
]);

$response = $client->post('/api/oauth/token', [ 'body' => [
    'grant_type' => 'refresh_token',
    'refresh_token' => 'f7fc59610c2a7fa8365c87b4f93b589e50826618'
]]);

var_dump($response->json());

Nous avons une réponse de la forme :

{
    "access_token": "ed7653ce2cfce53ee96efb3ed485ecbcecc83545",
    "expires_in": 3600,
    "token_type": "Bearer",
    "scope": "public",
    "refresh_token": "579a9f9f5545f90002916aaebf5d9346070eb7c0"
}

 

Quand vous demandez un token d’accès avec un refresh_token, ce refresh_token est supprimé (il n’est plus utilisable) et un aute est regénéré, présent dans la réponse, comme ci-dessus. Cest ce nouveau refresh_token qu’il faudra utiliser.

Dernière modification par Aurelien LABATE : 05/10/2017 01:37
Page modifiable par Etudiant
Page visible par Etudiant et Exterieur