La connexion OIDC via l'application iOS Discourse échoue occasionnellement avec csrf_detected au rappel

Bonjour,

J’utilise Discourse (2026.2.0-latest (f7cec86997)) avec OpenID Connect (Azure / Entra ID comme IdP).

J’ai remarqué un échec de connexion occasionnel qui ne semble se produire que lorsque les utilisateurs tentent de se connecter via l’application iOS de Discourse.

D’après les journaux du serveur, le flux ressemble à ceci :

POST /auth/oidc
GET  /auth/oidc/callback?...state=...
(oidc) Échec de l'authentification ! csrf_detected

Le rappel atteint bien Discourse, mais la validation CSRF/state échoue, donc aucun compte utilisateur n’est créé.

Les journaux environnants suggèrent que cela se produit dans le flux de transfert d’application :

  • application_name=Discourse - iPhone
  • auth_redirect=discourse://auth_redirect

Du point de vue de l’utilisateur, rien d’évident n’apparaît - il est simplement renvoyé à l’écran de connexion et ne se souvient souvent pas avoir vu d’erreur.

Cela ne semble pas se produire lors de la connexion via Safari ou les navigateurs de bureau.

Mon hypothèse est que cela est lié au partitionnement des cookies d’iOS / au changement de contexte entre le navigateur intégré à l’application et le rappel de l’application.

Je voulais juste vérifier :

  • s’il s’agit d’un comportement attendu avec OIDC + l’application iOS
  • et s’il existe des atténuations recommandées au-delà de s’assurer d’une origine canonique HTTPS stricte

Merci - je peux fournir des extraits de journaux anonymisés si cela est utile.