Login automático via SSO

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:

https://discourse.example.com/session/sso?return_path=path_back_to_your_sso_provider_site