O pior cenário que conheço requer estas condições:
- os endereços de e-mail não são verificados no site externo
require_activation=truenão está definido no payload do SSO- existem contas existentes no site Discourse que não têm um
SingleSignOnRecordassociado a elas (o proprietário da conta nunca fez login no Discourse com SSO)
Nesse caso, alguém poderia se inscrever no site externo usando o endereço de e-mail de um usuário do Discourse que nunca fez login com SSO. Isso permitiria que a conta não verificada do site externo assumisse a conta do Discourse que usa o mesmo endereço de e-mail. Isso seria especialmente preocupante se fosse uma conta de administrador no Discourse.
É recomendado que o Discourse lide com a verificação de e-mail se o site externo não estiver lidando com isso:
Existem algumas razões pelas quais é melhor lidar com a verificação de e-mail no site externo:
- forçar os usuários a receber o e-mail de confirmação do Discourse adiciona algum atrito quando os usuários tentam fazer login no Discourse pela primeira vez. (Realisticamente, esse atrito tem que acontecer em algum lugar - seja no lado do Discourse ou no lado do site externo.)
- O Discourse não corresponderá às contas existentes do Discourse com logins externos com base no endereço de e-mail se
require_activationfor definido comotrueno payload do SSO. Isso é um problema se você habilitar o DiscourseConnect depois que algumas contas foram criadas no Discourse registrando-se com nome de usuário/senha. Também é um problema se, por qualquer motivo, você precisar excluir entradasSingleSignOnRecordno Discourse. O Discourse não criará automaticamente novas entradasSingleSignOnRecordquando os usuários tentarem fazer login novamente no Discourse.