Não sou desenvolvedor, então nem sei o que pesquisar para encontrar a resposta à minha pergunta. Atualmente estou testando o Discourse e a forma como os usuários fazem login tem ocupado muito meus pensamentos.
No início do meu teste, estava convencido de que o SSO seria o caminho a seguir assim que o período de avaliação terminasse, mas agora não tenho tanta certeza. Parece que perderia alguns recursos legais do Discourse se ativasse o SSO (como os recursos de convite) e não sei se a vantagem, no meu caso, vale a pena.
É possível fazer com que meu fórum utilize tanto as contas nativas do Discourse quanto as contas do meu site? Algo semelhante à configuração de opções como “ou faça login com Facebook/Google/Apple”?
Sabe como, quando um usuário tenta fazer login ou criar uma conta, ele vê os campos de e-mail e senha, mas à direita há opções para fazer login com Facebook, Google, etc.? Eu poderia simplesmente ter a conta do meu site como uma dessas opções à direita?
Assim, se um usuário quiser apenas usar o login do meu site principal e não criar uma conta específica para o fórum, ele poderá, mas não será obrigado a fazê-lo.
Isso é possível? E é recomendável? Ou seja, existem razões pelas quais eu não deveria seguir esse caminho? Obrigado!
Se você está falando de OAuth2, OpenID Connect ou qualquer um dos nossos outros plugins de autenticação, então sim, eles podem ser usados juntos e também com o login por e-mail e senha.
Boas notícias nesse aspecto: adicionamos recentemente suporte a convites para o DiscourseConnect.
E para outros métodos de login:
Essas alterações estão disponíveis na versão mais recente do Discourse.
Você pode fazer isso implementando o OAuth2 no seu servidor para que ele funcione como o Google, o GitHub e outros. (Ou pedindo para alguém fazer isso, já que você não é um desenvolvedor.)
Estou animado em ver o recurso de compatibilidade entre SSO e convites, mas ele não parece funcionar no meu ambiente.
Meu site principal está no WordPress e estou usando o plugin WP Discourse para integrar as duas aplicações. Também tenho um formulário de registro que realiza autenticação por e-mail no WordPress e escrevi código personalizado para evitar que o Discourse envie e-mails de verificação duplicados para usuários durante o registro. Ativei a opção must_approve_users no Discourse para impedir que qualquer pessoa acesse a comunidade sem aprovação.
Segui os seguintes passos, mas o usuário não foi aprovado no final. Exatamente como antes.
Convite ao usuário com o endereço de e-mail
O usuário abre o convite por e-mail e clica no link
O usuário é redirecionado para a página de saída do Discourse com uma mensagem de boas-vindas e um botão de ação (CTA) para continuar
Ao clicar no CTA, o usuário é levado para a página de login no WordPress
Como o usuário não está registrado no WordPress, precisei criar uma nova conta para ele — o que acho que faz sentido, já que o WordPress não sabe que o Discourse convidou esse usuário.
Após o registro, recebo um e-mail de confirmação do WordPress. Clico nesse e-mail e sou redirecionado para a página de login no WordPress.
Após fazer login no WordPress, tento acessar a comunidade, mas não consigo.
Vou para a conta de administrador e verifico o status do usuário e, como suspeitava, ele está como “Precisa de aprovação”. Esta é exatamente a mesma situação que tinha antes de enviar o convite.
O que estou deixando passar? Existe algum outro fluxo que eu precise seguir? Posso convidar apenas usuários que já estão registrados no WordPress? Estou procurando orientação. Obrigado.