Development #26565
OIDC: indiquer à l'OP que des claims sont requis
100%
Description
Via le paramètre optionnel de requête "claims" voir :
https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter
Fichiers
Révisions associées
auth_oidc: adjust new migration number (#26565)
auth_oidc: keep previous value when building authorization_claims (#26565)
auth_oidc: keep previous value when building authorization_claims (bis) (#26565)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-auth_oidc-add-support-for-claims-parameter-fixes-265.patch 0001-auth_oidc-add-support-for-claims-parameter-fixes-265.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Patch assez transparent (faur lire la spec avant pour piger le but).
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Pas lu la spec mais le code me semble ok. (et je n'aime toujours pas le "fixes" dans les sujets, mais passons).
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|68f87021c20401b54942430c6261a1d37e5b44f1.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à En cours
E CommandError: Conflicting migrations detected; multiple leaf nodes in the migration graph: (0005_oidcprovider_claims_parameter_supported, 0005_oidcprovider_slug in authentic2_auth_oidc).
(dans le job hobo, vu que jenkins2 en carafe).
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de En cours à Résolu (à déployer)
J'ai poussé le trivial,
commit 103b58c6bb937541f5272dd55cea71a8081bb9b1 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Oct 23 08:49:59 2018 +0200 auth_oidc: adjust new migration number (#26565)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à En cours
Les tests échouent en mode postgresql.
Mis à jour par Frédéric Péters il y a plus de 5 ans
Il y a deux entrées dans "claim mappings" pour email, une avec required=True, l'autre pas. Selon celle qui est traitée en premier,
assert claims['userinfo']['email']['essential']
passe, ou pas.
Je ne sais pas si la différence de valeur pour l'attribut required est volontaire pour tester autre chose. Mais aucun test n'échoue en faisant :
--- a/tests/test_auth_oidc.py +++ b/tests/test_auth_oidc.py @@ -135,6 +135,7 @@ def oidc_provider(request, db, oidc_provider_jwkset): OIDCClaimMapping.objects.create( provider=provider, claim='email', + required=True, attribute='email') OIDCClaimMapping.objects.create( provider=provider,
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Fichier 0001-auth_oidc-tests-adjust-email-claim-to-always-be-requ.patch 0001-auth_oidc-tests-adjust-email-claim-to-always-be-requ.patch ajouté
- Statut changé de En cours à Solution proposée
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Fichier 0001-auth_oidc-keep-previous-value-when-building-authoriz.patch 0001-auth_oidc-keep-previous-value-when-building-authoriz.patch ajouté
Je pense que le bon comportement c'est de conserver ce qui a déjà été généré.
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Solution proposée à Solution validée
Ok.
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à En cours
Ça chouine encore. (désolé j'avais juste regardé, pas testé la proposition)
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de En cours à Résolu (à déployer)
commit ff10b27cb094273c307b687c064ca73b674b4b09 (wip/27540-idp-oidc-determiner-si-claims-dont-la-valeur-est-absente-doivent-etre-absent-ou-a-null) Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Oct 23 15:44:27 2018 +0200 auth_oidc: keep previous value when building authorization_claims (bis) (#26565) commit fd5a150c7e9962f91d86f347186fce543dd878fc Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Oct 23 10:43:45 2018 +0200 auth_oidc: keep previous value when building authorization_claims (#26565) commit 103b58c6bb937541f5272dd55cea71a8081bb9b1 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Oct 23 08:49:59 2018 +0200 auth_oidc: adjust new migration number (#26565) commit 68f87021c20401b54942430c6261a1d37e5b44f1 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed Sep 19 16:23:55 2018 +0200 auth_oidc: add support for "claims" parameter (fixes #26565) It allows A2 to signal to OIDC OP that some claims are required, see : https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter
Mis à jour par Benjamin Dauvergne il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Fermé
auth_oidc: add support for "claims" parameter (fixes #26565)
It allows A2 to signal to OIDC OP that some claims are required,
see :