Olá,
Estou executando o Discourse (2026.2.0-latest (f7cec86997)) com OpenID Connect (Azure / Entra ID como IdP).
Notei uma falha ocasional no login que parece ocorrer apenas quando os usuários tentam entrar pelo aplicativo Discourse para iOS.
Nos logs do servidor, o fluxo se parece com:
POST /auth/oidc
GET /auth/oidc/callback?...state=...
(oidc) Falha de autenticação! csrf_detected
O callback chega ao Discourse, mas a validação CSRF/state falha, então nenhuma conta de usuário é criada.
Os logs ao redor sugerem que isso está acontecendo no fluxo de transferência do aplicativo:
application_name=Discourse - iPhoneauth_redirect=discourse://auth_redirect
Do ponto de vista do usuário, nada óbvio aparece - eles são simplesmente retornados para a tela de login e muitas vezes não se lembram de ter visto um erro.
Isso não parece ocorrer ao fazer login via Safari ou navegadores de desktop.
Minha suposição é que isso está relacionado ao particionamento de cookies do iOS / troca de contexto entre o navegador no aplicativo e o callback do aplicativo.
Eu só queria verificar:
- se este é o comportamento esperado com OIDC + o aplicativo iOS
- e se há alguma mitigação recomendada além de garantir uma origem HTTPS canônica estrita
Obrigado - fico feliz em fornecer trechos de log anonimizados, se for útil.