• [^] # Re: A essayer

    Posté par (site web personnel, Mastodon) . En réponse à l’entrée du suivi Comment utiliser le refresh_token de l'API linuxfr ?. Évalué à 2 (+0/-0). Dernière modification le 27 octobre 2021 à 00:22.

    Bon pour vérifier la théorie, j'ai fais un rapide exemple avec un client JavaScript: https://projects.adorsaz.ch/adrien/example-refresh-token-for-linuxfr.org/-/blob/main/src/app.js

    Ce client est vraiment stupide: il récupère l'access_token et le refresh_token et, tout de suite après, il essaie de rafraîchir l'access_token et il affiche tout ça dans le log du serveur.

    Un exemple d'exécution sur ma machine me donne:

    GET / - - 
    code found: ff48b...
    Access token response (status: 200): {
     access_token: '255367...',
     token_type: 'Bearer',
     expires_in: 86400,
     refresh_token: '140a2c...',
     scope: 'account',
     created_at: 1635286565
    }
    Refresh token response (status: 200): {
     access_token: '40dd64...',
     token_type: 'Bearer',
     expires_in: 86400,
     refresh_token: '41566c....',
     scope: 'account',
     created_at: 1635286565
    }
    GET /?code=ff48b... - - 
    

    Bien sûr, j'ai retiré mes token de l'exemple, mais je t'ai laissé les 6 premiers caractères pour que tu voies qu'ils ont bien changé.

    Edit: Comme tu le vois dans le code, il faut faire attention à ce que le POST sur /token utilise le format x-www-form-urlencoded et non pas du JSON directement. C'est pour ça que j'utilise l'API URLSearchParams: https://github.com/node-fetch/node-fetch#post-with-form-parameters