OpenID Connect (OIDC) pour Discourse

Bonjour,

le plugin fonctionne bien depuis des années, mais je suis tombé sur mon premier utilisateur SSO dont le nom d’utilisateur se termine par un underscore, par exemple un nom d’utilisateur non autorisé.

Cet utilisateur ne peut pas se connecter à Discourse. Je pense que OIDC tente alors de créer un compte avec un nom d’utilisateur sans l’underscore. Ce qui est acceptable, mais si ce compte existe déjà (le nom d’utilisateur foo existe, le nom d’utilisateur foo_ ne peut pas se connecter en raison de l’erreur « Le compte existe déjà »), il semble qu’il y ait une tentative d’usurpation d’identité quelque part :

Le nom d’utilisateur foo reçoit un e-mail indiquant qu’une tentative a été faite pour créer un compte ou pour modifier l’adresse e-mail d’un compte, mais que cette adresse e-mail était déjà prise.

Cela se produit lors de la première connexion, par exemple la création de compte via SSO, pour foo_. Ainsi, foo_ tente de créer un compte sous le nom foo, mais ne peut pas car le nom est déjà pris. Mais pourquoi le foo original reçoit-il maintenant une notification par e-mail à ce sujet ?

Vous venez d’essayer de créer un compte sur \<discourse\>, ou d’essayer de modifier l’adresse e-mail d’un compte vers \<adresse e-mail de foo\>

Existe-t-il une solution au problème de la coexistence de nom_utilisateur et nom_utilisateur_ dans OIDC, par exemple en configurant la manière dont Discourse gère les noms d’utilisateurs invalides lors de l’authentification ?