Criar link de login do DiscourseConnect

Eu acho que o que está acontecendo é que, ao visitar uma rota como https://forum.example.com/session/sso?return_path=/t/some-slug/23, o Discourse redireciona você para a discourse connect url, independentemente de você estar logado no Discourse ou não. Isso acontece aqui:

O site do provedor de SSO deve então lidar com o caso de usuários que já estão logados no site. Veja como o plugin WP Discourse lida com isso:

Esse código (o que segue a instrução else) lida com o caso de usuários que já estão logados no WordPress. Eles são redirecionados de volta para a URL fornecida pelo parâmetro de consulta return_path. Do ponto de vista do usuário, eles são levados diretamente para a URL do caminho de retorno, mas o que realmente acontece é que eles são redirecionados para o site do provedor de SSO e, em seguida, de volta para o Discourse.

Eu acho que o problema no seu site é que seu código de SSO não está lidando com o caso de usuários que já estão logados no site.

Eu não tenho as coisas configuradas para testar isso agora. É possível que eu esteja lendo o código incorretamente. Antes de olhar o código, eu pensei que uma verificação era executada no lado do Discourse para ver se o usuário já estava logado no Discourse, mas não parece ser assim que funciona.

3 curtidas