Projet

Général

Profil

Development #26565

OIDC: indiquer à l'OP que des claims sont requis

Ajouté par Benjamin Dauvergne il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
19 septembre 2018
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 68f87021 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

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

Révision 103b58c6 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

auth_oidc: adjust new migration number (#26565)

Révision fd5a150c (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

auth_oidc: keep previous value when building authorization_claims (#26565)

Révision ff10b27c (diff)
Ajouté par Benjamin Dauvergne il y a plus de 5 ans

auth_oidc: keep previous value when building authorization_claims (bis) (#26565)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Patch assez transparent (faur lire la spec avant pour piger le but).

#3

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).

#4

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
#5

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).

#6

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)
#7

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.

#8

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,
#10

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

Je pense que le bon comportement c'est de conserver ce qui a déjà été généré.

#11

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.

#12

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
#13

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)

https://jenkins2.entrouvert.org/job/authentic/195/

#14

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
#15

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Tracker changé de Support à Development
#16

Mis à jour par Benjamin Dauvergne il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF