Bug #29009
OIDC: l'authentification OIDC ne conserve pas le nonce dans l'evènement d'authentification
100%
Description
La conservation du nonce est nécessaire pour le bon suivi d'une authentification forcé (forceAuthn utilisé avec SSO SAML par exemple).
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-auth_oidc-verify-and-store-id_token-nonce-fixes-2900.patch 0001-auth_oidc-verify-and-store-id_token-nonce-fixes-2900.patch ajouté
- Statut changé de Nouveau à Solution proposée
Voilà le nonce est bien threadé à travers toute l'authentification pour finir
en session dans le tableau des évènements d'authentification, SAML sera
content.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
Les nonces sont utilisés dans a2 pour s'assurer qu'une réponse à une requête de SSO a bien donné lieu à une authentification, seul moyen de forcer une réauthentification.
En SAML on reprend l'ID unique du message de SSO qu'on passe à la vue /login/ dans le paramètre nonce
, si on choisit l'authentification OIDC, ce nonce est passé ensuite à /accounts/oidc/login/, qui s'en sert pour le nonce du protocole OIDC.
Le nonce dans le protocole OIDC est une valeur unique passé dans la requête d'authentification OIDC et retournée uniquement dans l'id token, elle permet comme dans A2 de faire le lien entre une réponse et une requête.
Mis à jour par Thomas Noël il y a plus de 5 ans
Dans src/authentic2_auth_oidc/views.py, ces deux lignes :
... oidc_request = oidc_state.get('request') nonce = oidc_request.get('nonce') ...
je les mettrais pas dans le try/except lié à get_provider_by_issuer, plutôt après.
Et sur la première ligne, plutôt faire un « oidc_request = oidc_state.get('request') or {} », au cas où.
Voilà, c'est tout ce que j'ai a dire, en vérité l'objet du patch m'échappe un peu.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-auth_oidc-verify-and-store-id_token-nonce-fixes-2900.patch 0001-auth_oidc-verify-and-store-id_token-nonce-fixes-2900.patch ajouté
- Fichier 0002-ajustement-remarque-tnoel.patch 0002-ajustement-remarque-tnoel.patch ajouté
Remarque intégrée, je rebaserai avant de pousser.
Mis à jour par Thomas Noël il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit authentic2|b4110b3b3c0534aca523e1c025ae424cb9a32d1e.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
auth_oidc: verify and store id_token nonce (fixes #29009)