IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Web Discussion :

[Backend] Rafraîchir un access token


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Par défaut [Backend] Rafraîchir un access token
    Contexte : Pour autoriser l'accès d'un client à une ressource de l'API, ce client ajouter un token dans les headers, comme "Bearer <token>" dans le header "Authorization", ce token ayant été obtenu via le login, et expirant dans, disons, 1 jour.

    Problème : L'utilisateur peut se retrouver déconnecté en pleine utilisation.

    Solution trouvée sur internet : Au login, l'API renvoie un access token et un refresh token. Si l'access token est expiré, on fait appel à une route spécifique en postant le refresh token, ce qui nous renverra un nouvel access token. La validité du refresh token est contrôlée grâce à une liste de refresh token disponibles via une base de données.

    Cependant, je trouve cette solution lourde, requiert un backend stateful, et de multiples appels HTTP.
    Ce que j'aurais envie de faire, c'est de stocker l'access token dans les cookies du client, et à chaque nouvel appel à n'importe quelle route, le backend générera un nouvel access token qu'il mettra dans les cookies. Ainsi, le client n'a rien à faire.

    Mais je me dis que si tout le monde utilise la première solution, c'est qu'il y a une raison, non ? Qu'en pensez-vous ?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 682
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 682
    Par défaut
    avec ce fonctionnement, c'est comme s'il y avait un jeton d'accès valable sans limite de temps.
    une autre façon de faire serait qu'à chaque interaction avec le client, la validité du jeton d'accès est prolongée de 24 heures.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Par défaut
    Mais c'est justement ce que je propose non ? Mettre un nouveau jeton à chaque appel à l'API ? Dans votre cas aussi le jeton serait infini, non ?

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 682
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 682
    Par défaut
    la différence c'est qu'avec ce que je propose, le client est déconnecté s'il ne passe pas pendant plus de 24 heures.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Par défaut
    Peut-être que j'aurais dû préciser ma solution : l'API renvoie un nouveau jeton seulement si celui passé dans la requête entrante est toujours valide. On parle bien de la même chose ?

Discussions similaires

  1. [Python 2.X] API tinder - access token facebook
    Par Invité dans le forum Général Python
    Réponses: 2
    Dernier message: 02/09/2015, 14h57
  2. User access token facebook
    Par alba.b dans le forum Facebook
    Réponses: 2
    Dernier message: 27/07/2015, 17h37
  3. Open graph api facebook Access Token numéro téléphone
    Par mapmip dans le forum APIs Réseaux sociaux
    Réponses: 1
    Dernier message: 17/10/2014, 10h13
  4. [WinForm] recupérer access token drop box
    Par dharkan dans le forum C#
    Réponses: 1
    Dernier message: 28/05/2013, 12h50
  5. [1.x] backend edit job: $form['token'] (sfWidgetFormInputText) Required.
    Par erictomcat dans le forum Symfony
    Réponses: 1
    Dernier message: 24/08/2010, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo