Comment gérer le rafraîchissement d'un jeton OAuth côté serveur?
#1
Je suis en train de mettre en place une connexion entre notre CRM et un outil interne, et je me retrouve un peu bloqué sur la partie authentification. J’ai opté pour une authentification par jeton OAuth 2.0, ce qui semblait être la voie standard, mais je bute sur la gestion du rafraîchissement du token en arrière-plan. Mon script fonctionne pour la première requête, puis tout plante silencieusement quand le jeton expire. Je me demande si j’ai mal compris le flux, ou s’il y a une meilleure pratique pour gérer ça de manière robuste sans que l’utilisateur ait à réintervenir. C’est un peu frustrant, car l’API semble bien documentée par ailleurs.
Répondre
#2
Pour le flux OAuth 2 et la gestion du rafraichissement la priorité principale est de séparer token d accès et refresh token Le token d accès a une durée courte et le refresh token sert a obtenir un nouveau token sans action de l utilisateur Quand une requête tombe en erreur 401 il faut déclencher le rafraichissement en arrière plan puis réessayer l appel sans que l utilisateur intervienne Si le rafraissement échoue il faut remonter une erreur exploitable et ne pas continuer a faire des tentatives infinies Cela passe aussi par une rotation du refresh token et par le stockage sécurisé des informations
Répondre
#3
Et si le vrai souci est ailleurs que le rafraichissement Le flux que tu utilises peut ne pas convenir a une connexion serveur a serveur Le principal est de choisir le bon type de grant selon le cas Le client credentials est une option si tu as un secret et pas d utilisateur et cela donne un token sans refresh Le hic c est que cela peut changer le modèle d autorisation Le problème peut aussi venir d une gestion des erreurs qui ne remonte pas et d une absence de logs clairs
Répondre
#4
Tu peux tester une approche pratique et rapide d auto rafraichissement Quand le token approche de son expiration demande un nouveau token peu avant et mets a jour le token et sa date d expiration dans un endroit sécurisé Puis ajoute dans ton client http un intercepteur qui va rafraichir et reessayer lorsque le token est expiré Cela peut eviter les interruptions et rester robuste Le mot clé principal est anticipation Tu es d accord
Répondre


[-]
Réponse rapide
Message
Saisissez votre réponse à ce message ici.

Code de confirmation
Veuillez saisir le texte figurant dans l’image ci-dessous. Ce procédé permet de bloquer les robots.
Code de confirmation
(insensible à la casse)

Aller au forum