Les jetons d’actualisation en ligne (ORT) doivent être activés au niveau de l’API (serveur de ressources), dans Auth0 Dashboard ou à l’aide de la Management API.
Les ORT portent le préfixe ORT afin de les distinguer des jetons d’actualisation. Toutefois, vous devez considérer le jeton comme opaque et ne pas vous fier à sa structure interne.
Auth0 n’émet pas de nouveau refresh_token et, comme les ORT ne sont pas renouvelés par rotation, vous continuez à utiliser le même ORT pour les échanges suivants.
Lorsque vous révoquez un ORT, cela met fin à toute la session Auth0, et non seulement au jeton. Tous les ORT associés à cette session sont alors invalidés, et le SSO de l’utilisateur prend fin.
Utiliser l’objet event.refresh_token pour déterminer si le jeton est un ORT.
Accéder à des données propres à la session à l’aide de l’objet event.session afin de prendre des décisions en fonction de l’état actuel de la session
exports.onExecutePostLogin = async (event, api) => { // Vérifier si le jeton est un jeton d'actualisation en ligne if (event.refresh_token?.access == 'online') { // Le jeton est un ORT, vous pouvez ensuite référencer event.session et api.session console.log('Exchanging Online Refresh Token bound to Session ID: ', event.session?.id); // Récupérer les métadonnées de session et les ajouter aux jetons // En supposant que les métadonnées de session ont été stockées au préalable const importantInformation = event.session?.metadata?.importantInformation; api.accessToken.setCustomClaim('info', importantInformation); api.idToken.setCustomClaim('info', importantInformation); }};
Auth0 révoque l’intégralité de la session de l’utilisateur, et non seulement le jeton, lorsque la méthode api.refreshToken.revoke() est utilisée avec un ORT.