Configurar DiscourseConnect - SSO Oficial para Discourse (sso)

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=true não está definido no payload do SSO
  • existem contas existentes no site Discourse que não têm um SingleSignOnRecord associado 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_activation for definido como true no 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 entradas SingleSignOnRecord no Discourse. O Discourse não criará automaticamente novas entradas SingleSignOnRecord quando os usuários tentarem fazer login novamente no Discourse.
4 curtidas