Sou novo no Discourse e estou tentando configurar meu fórum com um site Drupal, usando o módulo Discourse SSO. Segui as instruções do módulo e deste tópico, mas, infelizmente, a URL “mydrupalwebsite.com/discourse/sso” retorna um erro 404.
Desde a criação desse tópico, surgiram novas configurações para o módulo com uma chave de API, mas não sei o que fazer com ela.
Você pode compartilhar um link para o módulo Drupal que está usando? Se for o módulo vinculado neste post (Trouble connecting drupal and discourse - #8 by Ivan_Rapekas), ele foi atualizado pela última vez em março de 2015, então é bem provável que haja problemas com ele.
Este módulo de SSO do Drupal foi atualizado em dezembro de 2019: Discourse SSO | Drupal.org. Vale a pena tentar usá-lo.
Estou usando o segundo, com a versão mais recente.
Configurei o segredo do SSO e a URL do SSO, e quando tento fazer login, vejo que houve algumas redireções como deveria, mas /discourse/sso resulta em uma página 404.
O módulo possui alguma documentação? O processo normal para ativar o SSO é adicionar o endpoint do SSO à configuração do site sso url do Discourse, adicionar uma chave secreta do SSO à configuração do site sso secret e, em seguida, ativar a configuração do site enable sso. Ao configurar isso pela primeira vez, você provavelmente também desejará ativar a configuração do site verbose sso logging. Com essa configuração ativada, você receberá detalhes sobre erros de SSO nos registros de erro do seu site (localizados em Admin / Logs / Error Logs).
Quando as configurações do Discourse estiverem ativadas, certifique-se de que a URL do seu site do Discourse e o sso secret foram adicionados ao site do provedor de SSO.
Pelo erro que você está recebendo, parece provável que a configuração do site enable sso não tenha sido ativada no seu site do Discourse.
Se você tiver problemas para acessar seu site do Discourse após ativar o SSO, como administrador, você pode contornar o login do SSO acessando /u/admin-login no seu site do Discourse. Insira seu endereço de e-mail de administrador no formulário da página. Um link de login único será enviado para você.
Verifiquei a entrada do log, mas ela não está mostrando o erro — é apenas o registro do início do processo SSO no Discourse. Deve haver outra entrada de log criada logo após essa que mostre o erro. Você pode tentar realizar o processo novamente? Deverá haver entradas de log SSO detalhadas para cada tentativa de login. A primeira entrada mostra o processo começando no Discourse, e a segunda entrada relaciona-se a como o Discourse lidou com a resposta recebida do seu site.
É possível que haja outra mensagem de erro relevante que não comece com o texto Verbose SSO log. Verifique as entradas do log por volta do momento em que você fez a solicitação SSO.
Tentei novamente e recebi três mensagens de log idênticas, que são as mesmas da anterior. Se eu seguir essa lógica, deve significar que não há nenhuma resposta do meu site.
Sim, isso parece correto para mim. Você pode tentar verificar as requisições que estão sendo feitas abrindo o inspetor web do seu navegador na aba Rede. Selecione a opção “Preservar Logs” nessa aba e clique no link de login no seu site Discourse.
Apenas uma pequena atualização sobre este assunto: o módulo Discourse SSO foi corrigido e não mais causa travamento no site.
No entanto, ele ainda não funciona, pois é impossível fazer logout corretamente após o primeiro login. Outro problema foi aberto, caso alguém queira dar uma olhada.
Parece que o logout do Discourse não está sincronizado com o logout do site do provedor SSO. Como você ainda está logado no site do provedor SSO, na próxima vez que clicar no link de Login do Discourse, você será autenticado com base no fato de estar logado no provedor SSO.
A configuração do site logout redirect do Discourse pode ser usada para fazer logout dos usuários no site do provedor SSO. Quando um usuário faz logout do Discourse, ele será automaticamente redirecionado para essa URL. O provedor SSO precisará lidar com a URL para fazer logout do usuário. No entanto, não estou familiarizado o suficiente com o Drupal para saber o que precisaria ser feito para implementar isso.
Este módulo funciona bem, há apenas um bug com a imagem do usuário do Drupal, mas uma correção está pendente,
Esta postagem está incorreta quanto às configurações no Discourse: a sso_url deve terminar com /discourse_sso, NÃO com /discourse/sso
Se você quiser fazer login com várias contas diferentes, deve definir http://mywebsite/user/logout como o redirecionamento de logout e desativar o Ghostery no seu navegador para o site do Discourse se estiver usando este plugin.