Development #48889
idp_oidc : le setting utilisé pour la durée des access token n'est pas le bon
0%
Description
C'est IDTOKEN_DURATION qui est utilisé au lieu d'ACCESS_TOKEN_DURATION, ça fait que par défaut ils ont une durée de vie de 30 secondes, c'est un poil court. Je pense que le mieux c'est de ne pas en mettre que ce soit lié à la session utilisateur par défaut.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier 0001-idp_oidc-make-access_token-validity-depends-on-expir.patch 0001-idp_oidc-make-access_token-validity-depends-on-expir.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Le code de calcul de la validité d'un access_token était mauvais pour la session, j'ai factorisé avec celui d'OIDCCode (absence de session.load() pour valider que la session_key existe).
L'attribut OIDCAccessToken.expired peut désormais être NULL rendant l'access_token uniquement dépendant de la session utilisateur, c'est désormais le fonctionnement par défaut pour un token généré avec l'authorization code flow; ça reste débrayable si on pose une valeur de durée de jeton d'accès dans OIDCClient.access_token_duration.
Pour les jetons obtenus via credentials grant c'est soit la valeur par défaut, 8h soit la valeur posée au niveau de OIDCClient.access_token_duration.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Fichier 0001-idp_oidc-make-access_token-validity-depends-on-expir.patch 0001-idp_oidc-make-access_token-validity-depends-on-expir.patch ajouté
Rebasé sur #47900.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
En fait j'avais déjà fait cette correction sur le chargement des sessions dans #47900, donc j'ai rebasé dessus.
Mis à jour par Paul Marillonnet il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Quitte à faire une modif sur le modèle, j’en aurais peut-être profité pour renommer les attributs created
et expired
en respectivement created_on
et expires_on
, pour qu'on arrête de croire que c'est des booléens, je ne sais pas, je te laisse décider.
À part ça, c'est ok.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
Paul Marillonnet a écrit :
Quitte à faire une modif sur le modèle, j’en aurais peut-être profité pour renommer les attributs
created
etexpired
en respectivementcreated_on
etexpires_on
, pour qu'on arrête de croire que c'est des booléens, je ne sais pas, je te laisse décider.
À part ça, c'est ok.
C'est une convention dans a2 maintenant, j'ai des created/modified partout.
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 1687d1a7a460598e49eafaf16469b5596504133b Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Nov 27 08:07:49 2020 +0100 idp_oidc: make access_token validity depends on expiration or session existence (#48889)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
idp_oidc: make access_token validity depends on expiration or session existence (#48889)