Estou implementando meu próprio serviço de autenticação como provedor de SSO para o Discourse. Está funcionando bem. Mas quando meus usuários (usuários não logados) abrem uma URL de tópico pré-preenchida, eles não veem os dados pré-preenchidos após o redirecionamento de volta para o Discourse.
Cenário completo:
Um usuário não logado abre uma URL de criação de tópico pré-preenchida
Ele é automaticamente redirecionado para a página de SSO
Ele faz login usando o SSO e é redirecionado de volta para http://discourse_site/session/sso_login?....
Aqui, espero que o usuário veja a caixa de criação de tópico com os dados preenchidos, mas o Discourse apenas mostra a página do tópico mais recente. Nem mesmo mostra a caixa de criar tópico
Alguém pode me ajudar com esse problema? Há algum problema na minha configuração ou é um bug?
Posso confirmar também que, se eu estiver em um tópico específico e pressionar login, o redirecionamento funcionará corretamente e eu retornarei a esse tópico.
Mas não funcionou. Então comecei a testá-la em diferentes lugares e nenhum deles funcionou. Poderia elaborar mais sobre onde devo colocar o return_path?
Tudo o que você precisa fazer é criar um link no formato apresentado naquele post. Você precisará substituir a URL correta do seu site Discourse e alterar o nome de usuário de scossar para um nome de usuário que exista no seu site. Não adicione os parâmetros payload ou sig ao link. Tudo isso já deve ser tratado pela sua implementação SSO existente. O único propósito do parâmetro return_path é redirecionar o usuário para uma URL que criará o tópico pré-preenchido.
Observe que, no exemplo ao qual me vinculei, estou criando uma mensagem pré-preenchida, não um tópico pré-preenchido. Você precisará ajustar o return_path fornecido no código de exemplo para criar um tópico em vez de uma mensagem.