Estou tentando implementar a autenticação Auth0 no meu aplicativo Discourse. Segui essencialmente o fluxo aqui e consegui fazer funcionar.
No entanto, não estou totalmente satisfeito por vários motivos:
Após clicar em “entrar”/“inscrever-se”, há apenas um botão “com Auth0”. Quero que o painel de login/inscrição do Auth0 seja a única coisa que aparece após clicar em “entrar”/“inscrever-se” no topo da página do Discourse.
Após a autenticação com o Auth0, as pessoas não deveriam ter que criar um novo usuário, em vez disso, tudo deveria funcionar bem por causa do Auth0.
A autenticação por e-mail deveria ser ou ter sido tratada via Auth0, não via Discourse.
Se você já fez login via Auth0 nesse navegador, possivelmente com o mesmo aplicativo do Auth0, em outro módulo da nossa plataforma, você deverá ser conectado automaticamente.
Ainda deve haver a possibilidade de fazer login como usuário administrador, pois isso pode se mostrar mais desafiador após a implementação do ponto nº 1.
Você poderia me ajudar a configurar tudo ou pelo menos partes disso?
Acredito que você possa verificar esta configuração no Discourse auth_overrides_email para isso.
E você pode usar esta configuração de visão para isso: auth_skip_create_confirm
Ao se inscrever por meio de autenticação externa, pule o pop-up de criação de conta. Melhor usado em conjunto com auth_overrides_email, auth_overrides_username e auth_overrides_name.
Há também a configuração auth_immediately, que pode fazer o que você procura também:
Redirecione automaticamente para o sistema de login externo sem interação do usuário. Isso só entra em vigor quando login_required é verdadeiro e há apenas um método de autenticação externa.
Você pode visitar /u/admin-login para ignorar o oauth.
Eu acho que essas configurações auth_immediatley e auth_skip_create_confirm resolverão os pontos 1 e 4. Você pode ativá-las e ver se as coisas melhoram?
Tente desabilitar as configurações de enable local logins. Isso deve remover a capacidade de login, deixando seus usuários apenas com a opção de fazer login com OAuth2.
Eu recomendaria fazer isso em uma sessão de navegador separada. Dessa forma, você pode reverter quaisquer alterações que fizer se tiver problemas de configuração sem perder a capacidade de fazer login.
Obrigado pelas informações. Fiz alguns progressos, mas infelizmente ainda há um pequeno problema com o login. Sempre que clico no botão de login, as informações corretas do usuário são obtidas do Auth0, mas o Discourse ainda tenta criar uma conta.
Sou levado para uma tela de Bem-vindo, vamos criar sua conta com um erro que diz O e-mail principal já foi utilizado.
Esta é a minha configuração atual para todas as substituições:
Adorei este plugin. Percebo que quando faço logout, ele me desconecta do Discourse. Mas quando clico em “entrar”… ele me reconecta imediatamente (sem ir para o Auth0). Permiti o URI de logout no meu App Auth0, mas parece que https://AUTH0_DOMAIN/v2/logout nunca é chamado por este plugin. Quem mantém isso? Isso pode ser adicionado?