Discourse OpenID Connect (OIDC)

Olá,

o plugin funciona bem há anos, mas esbarrei no meu primeiro usuário SSO com um nome de usuário terminando em underline, por exemplo, um nome de usuário não permitido.

Esse usuário não consegue fazer login no Discourse. Acredito que o OIDC então tente criar uma conta com um nome de usuário apenas sem o underline. O que seria aceitável, mas se essa conta já existir (o nome de usuário foo existe, o nome de usuário foo_ não consegue fazer login porque aparece o erro “Conta já existe”), parece haver uma tentativa de impersonação em alguma parte:

O nome de usuário foo recebe um e-mail informando que alguém tentou criar uma conta ou tentou alterar o e-mail de uma conta, mas que esse e-mail já estava em uso.

Isso ocorre durante o primeiro login, ou seja, a criação da conta via SSO, para o usuário foo_. Então, foo_ tenta criar uma conta como foo, mas não consegue porque o nome já está em uso. Mas por que o foo original agora recebe uma notificação por e-mail sobre isso?

Você acabou de tentar criar uma conta em \<discourse\> ou tentar alterar o e-mail de uma conta para \<e-mail de foo\>

Existe alguma solução para o problema de ter username e username_ no OIDC, como configurar a maneira como o Discourse lida com nomes de usuário inválidos durante a autenticação?