Já tenho o SSO configurado e funcionando, e tudo está correto. No entanto, gostaria de fazer com que meus usuários sejam automaticamente logados ao acessar nossa comunidade Discourse, caso já estejam logados em nosso site principal. Basicamente, o objetivo é clicar no botão “Entrar” para iniciar o SSO e redirecioná-los de volta ao Discourse, para onde estavam originalmente.
Apenas comecei a analisar o código de login, mas esperava que alguém pudesse me dar uma orientação sobre como iniciar o login a partir de um componente de tema personalizado.
Isso pode ser feito, mas pode causar problemas ao fazer login no site do provedor SSO se o SSO estiver mal configurado. Uma abordagem mais segura é adicionar um link de Login SSO ao site que fará o login automático dos usuários no Discourse e os redirecionará para uma página especificada quando clicarem no link. Veja Create a DiscourseConnect login link para detalhes.
Você pode detalhar que tipos de problemas eu posso esperar?
No meu caso específico, os visitantes não acessarão o aplicativo principal primeiro — em uma sessão específica. Eles acessarão o site da comunidade, mas já terão feito login no aplicativo principal em algum momento. Gostaria de importar a sessão de login automaticamente, sem qualquer interação do usuário.
Encontrei um problema com isso quando estava tentando fazer o login de usuários no Discourse a partir do WordPress, redirecionando-os silenciosamente para o Discourse e depois de volta para o WordPress como parte do processo de login do WordPress. Se o SSO estiver mal configurado, os usuários ficarão bloqueados no WordPress.
Se você quiser tentar esse tipo de abordagem, será necessário habilitar a configuração sso allows all return paths no Discourse. Ao fazer isso, você poderá redirecionar os usuários para: