Skip to content

feat: add auto_validate_new_user boolean field#143

Merged
jacquesfize merged 3 commits intoPnX-SI:developfrom
naturalsolutions:feat/add-manual-validation-behavior
Mar 19, 2026
Merged

feat: add auto_validate_new_user boolean field#143
jacquesfize merged 3 commits intoPnX-SI:developfrom
naturalsolutions:feat/add-manual-validation-behavior

Conversation

@edelclaux
Copy link
Copy Markdown
Contributor

@edelclaux edelclaux commented Jan 21, 2026

Closes #142

Ajout de l'entrée de config "auto_validate_new_user", vraie par défaut.

L'appel à insert_or_update_role dans authorize a été étoffé.

Si auto_validate_new_user est à vrai --> comportement actuel.
Sinon:

  • si l'utilisateur a déjà fait une demande de compte raise Unauthorized("Demande de creation de compte en attente de validation.")
  • si c'est une nouvelle demande:
    1. Création de la demande
    2. raise Unauthorized("Demande de creation de compte créée et en attente de validation.")

@edelclaux edelclaux force-pushed the feat/add-manual-validation-behavior branch from 81cff23 to 2eae584 Compare January 21, 2026 14:51
@edelclaux
Copy link
Copy Markdown
Contributor Author

Suite à réunion du jour
Vérifier la notification par mail à l'admin lors de la création de la demande de création de compte.

Comment thread src/pypnusershub/auth/providers/openid_provider.py Outdated
load_default="preferred_username"
) # Claim d’identification du token OpenID/OIDC
RECONCILIATE_ATTR = fields.String(load_default="email")
AUTO_VALIDATE_NEW_USER = fields.Boolean(load_default=False)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le fonctionnement par défaut est donc modifié (jusque là, le user se créait automatiquement). Toutefois, c'est le fonctionnement par défaut dans la connexion classique AUTO_ACCOUNT_CREATION=false, donc je pense que c'est bien de faire comme tu as fait et qu'il faudra juste le notifier dans le changelog.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a la base, c'était une erreur ! J'ai mis faux pour le dev, j'ai juste oublié de remettre à vrai pour la PR.
Je laisse comme ça du coup ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, ça me semble bien de le laisser comme ça. Il faut juste mettre à jour la description de la PR où tu dis :

Ajout de l'entrée de config "auto_validate_new_user", vraie par défaut.

En notifiant bien que le comportement à changer pour mettre en cohérence avec celui de l'auth de base.

error_description = exc.description or "Unauthorized"
login_url = f"{current_app.config['URL_APPLICATION']}/#/login"
query_params = {
"login_error": error_description,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pour l'instant pas de prise en compte dans le frontend de GeoNature de ce querry param, donc, quand on essaye de créer un compte avec AUTO_VALIDATE_NEW_USER à false, ça nous renvoie sur la page sans message de succès ou d'erreur.

Par ailleurs, pour ce cas spécifique, est-ce que c'est vraiment une erreur que l'on veut afficher ? Il semblerait plus logique de mettre un succès ou une info reprennant MyAccount.Message.AdminAccountEmailConfirmation ("Votre demande de création de compte a bien été prise en compte, elle va être évaluée par un administrateur")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah tiens, j'avais oublié de faire la PR. C'est chose faite :)
PnX-SI/GeoNature#3976

J'ai opté pour l'erreur pour se brancher au plus simplement sur la page existante.

Je suis ouvert à d'autres options, mais j'ai peur que ce soit plus/trop impactant

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je regarde ça avec ton autre PR, merci :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bon en effet, ça demande beaucoup de modification, j'ai essayé de le faire et je me suis un peu lancé dans un tunnel ... J'ai fais deux PR en rapport naturalsolutions/geonature#10, et naturalsolutions#1 à voir ce qu'on en fait

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le travail de @christophe-ramet sera merge après le merge de cette branche

@edelclaux edelclaux force-pushed the feat/add-manual-validation-behavior branch from aa387c5 to a0b2260 Compare March 18, 2026 15:58
@jacquesfize jacquesfize merged commit fb158ae into PnX-SI:develop Mar 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants