Actualisation des jetons OAuth 2
Ce guide part du principe que vous avez déjà créé une app OAuth2
Si ce n’est pas le cas, consultez ce guide et revenez ici une fois que vous avez capturé le access_token et le refresh_token d’un octroi d’informations d’identification OAuth 2 réussi.
Principes de base de l’actualisation de jeton
En supposant que vous ayez inclus la portée offline dans votre demande d’informations d’identification OAuth2.0, une authentification réussie via l’application Accounts de Frame.io renverra une charge utile qui ressemble à ceci :
Le access_token est un jeton porteur qui peut être utilisé pour agir au nom de l’utilisateur authentifié ; il expirera après 3600 secondes (une heure) ; et après cela, le refresh_token peut être utilisé pour récupérer un nouveau access_token. Le jeton d’actualisation expirera ensuite après 30 jours, moment où vous devrez demander à l’utilisateur de se connecter depuis le début, produisant une nouvelle paire de jetons d’accès/actualisation ; et ainsi de suite. Si vous ne demandez pas explicitement la portée offline, vous ne recevrez pas de refresh_token, et par conséquent après une heure, vous devrez réauthentifier complètement l’utilisateur.
Capture du jeton d’actualisation lors d’une authentification réussie
Il va sans dire que vous ne pouvez pas utiliser un refresh_token que vous n’avez pas, alors assurez-vous dans votre app de :
- Demander la portée offline
- Capturer le
refresh_tokenqui est renvoyé dans un rappel réussi.
Pour plus de commodité, le rappel de nos Guides d’app OAuth 2 est reproduit ici, avec un appel os pour stocker le jeton d’actualisation. Veuillez noter que deux exemples sont fournis : un avec PKCE configuré (n’inclut pas d’en-tête d’authentification de base), et un sans (inclut un en-tête d’authentification de base).
Sans PKCE
Avec PKCE
Exécution d’une actualisation
L’actualisation elle-même est un seul appel à l’URL de jeton de Frame.io :
- Méthode : POST
- URL : https://applications.frame.io/oauth2/token
- ```json { “trancreatedText”: [ “
Content-Type: application/x-www-form-urlencoded
Une actualisation inclura toujours au moins les trois attributs suivants dans les données du formulaire :
grant_type: refresh_tokenscope: \refresh_token: \
Si vous utilisez PKCE, vous devrez inclure le client_id de votre application dans ces données de formulaire ; sinon, vous devrez inclure un en-tête d’authentification basique avec le client_id et le client_secret de votre application comme nom d’utilisateur et mot de passe, respectivement.
Sans PKCE
Comme pour effectuer le rappel d’authentification initial sans PKCE, cette actualisation standard nécessitera de fournir votre client_id et client_secret comme nom d’utilisateur et mot de passe dans un en-tête d’authentification basique.
Avec PKCE
Encore une fois, nous reproduisons les règles de notre cycle /callback initial :
- Nous n’incluons pas d’en-tête
Authorization - Nous devons inclure le
client_iddans notre charge utile
Félicitations !Vous pouvez maintenant gérer l’ensemble du cycle de vie des jetons d’une application cliente OAuth2.0.” ] } ```