Um paradigma típico ao usar um provedor de autenticação oAuth2 para SSO é definir um tempo limite de expiração de sessão relativamente curto (8-12 horas) e, em seguida, autenticar silenciosamente o usuário se sua sessão oAuth2 ainda estiver ativa. No meu caso, estou usando Auth0 e esta é a documentação deles sobre este recurso, que é baseado no protocolo OpenId: Configure Silent Authentication.
Recentemente, alterei o tempo limite da sessão na minha instância do Discourse com a expectativa de que o usuário fosse autenticado silenciosamente se ainda tivesse uma sessão Auth0 ativa, mas acontece que isso faz com que o usuário final receba um prompt de login, mesmo que ainda tenha uma sessão Auth0 ativa. Isso parece ser uma falha na implementação do plugin oAuth2 pelo Discourse.