OAuth2 SSO com provedor SSO não define o redirecionamento?

Acho que isso pode ser um caso semelhante de um problema ocorrido há alguns anos: Discourse doesn't redirect to return_sso_url after user logs in on private site - #8 by vinothkannans

Tenho um aplicativo em Rails que usa o omniauth-discourse como método de login, o que funciona bem.
Em seguida, minha instância do Discourse usa SSO para outro aplicativo que eu mantenho.
Dessa forma, o Discourse é meu provedor de SSO, mas também está usando SSO com um aplicativo diferente.

Quando um usuário já está logado no Discourse, o redirecionamento de volta para o aplicativo original funciona perfeitamente.
Quando um usuário não está logado, ele é direcionado ao fluxo de SSO, mas a URL de retorno sempre é definida como return_sso_url=https://forum.snap.berkeley.edu/session/sso_login. Parece que isso deveria ser a URL da solicitação original, não é?

  • O usuário clica no botão de entrar no primeiro aplicativo, o que o redireciona para uma URL que, por fim, se parece com isto: https://forum.snap.berkeley.edu/session/sso_provider?sso=nonce=4...f&return_sso_url=https://www.snapcon.org/accounts/auth/discourse/callback &sig=1...6 (Decodifiquei para maior clareza)
  • O Discourse, então, redireciona para o endpoint do Discourse do segundo aplicativo: https://snap.berkeley.edu/api/v1/discourse-sso?sig=f...d&sso=nonce=6...1&return_sso_url=https://forum.snap.berkeley.edu/session/sso_login
  • O usuário faz login, mas é levado apenas para a página inicial do fórum.

Existe alguma solução alternativa, ou isso poderia ser resolvido em uma atualização?

Reconheço que estou usando o Discourse apenas como um proxy, mas, no momento, é a melhor ferramenta que tenho para integrar esses dois aplicativos.

Obrigado!