Punto de datos adicional de los registros de acceso de nginx:
Un fallo representativo (2026-01-25 11:44:10 UTC) muestra que la solicitud de devolución de llamada OIDC proviene de un agente de usuario de un navegador dentro de la aplicación de iOS (Snapchat), no del agente de usuario del webview de la aplicación de Discourse para iOS:
GET /auth/oidc/callback?...state=... 302
UA: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) ... Snapchat/13.76.1.0 (like Safari/..., panda)
Referer: https://login.microsoftonline.com/
Inmediatamente seguido por:
GET /auth/failure?message=csrf_detected&strategy=oidc
Por lo tanto, parece que el flujo OAuth a veces se inicia dentro de un navegador dentro de la aplicación de iOS (Snapchat/otro), luego ocurre el traspaso (también he visto registros que contienen auth_redirect=discourse://auth_redirect), y la cookie de sesión/estado no sobrevive de manera consistente.
Configuración actual: SiteSetting.same_site_cookies = "Lax".
Pregunta: ¿Se espera que el flujo de autenticación de la aplicación móvil de Discourse sea fiable cuando el inicio de sesión se inicia desde navegadores dentro de la aplicación de iOS que luego enlazan profundamente a la aplicación de Discourse?
¿Sería cambiar same_site_cookies a “None” la mitigación recomendada, o hay un enfoque mejor?