DiscourseConnect sempre retorna "Nonce está incorreto, ..."

Olá a todos,

Estamos construindo uma interface para um servidor Discourse auto-hospedado. O servidor está na versão mais recente até o momento. Nosso código é executado em um domínio diferente.

Nós configuramos tudo, recebemos a chamada SSO assinada do Discourse e respondemos com o que acreditamos ser uma resposta assinada adequada, de acordo com isto.

Olhando os logs do Discourse, nossa resposta parece estar devidamente assinada e os campos que retornamos são analisados corretamente. O nonce também é idêntico. Apesar de tudo isso, a transação sempre termina com um erro 419 “Nonce incorreto, foi gerado em uma sessão de navegador diferente ou expirou”.
O nonce está realmente correto; não pode ter expirado, pois respondemos imediatamente; e uma sessão de navegador diferente - bem, a resposta vem do navegador do usuário, então…?

Adicionamos “*” aos “domínios de redirecionamento permitidos”, tentamos adicionar nosso servidor de aplicativos à lista CORS (e definimos a variável de ambiente apropriada). Nenhuma mudança.

Devemos estar fazendo algo errado… Agradeceria qualquer ajuda para nos tirar deste beco sem saída :slight_smile:

1 curtida