nginx アクセスログからの追加のデータポイント:
代表的な失敗(2026-01-25 11:44:10 UTC)は、OIDCコールバックリクエストがDiscourse iOSアプリのWebview UAではなく、iOSのアプリ内ブラウザUA(Snapchat)から来ていることを示しています。
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/
直後に:
GET /auth/failure?message=csrf_detected&strategy=oidc
したがって、OAuthフローがiOSのアプリ内ブラウザ(Snapchatなど)内で開始され、その後ハンドオフが発生し(auth_redirect=discourse://auth_redirectを含むログも確認しています)、セッションCookie/状態が一貫して維持されないようです。
現在の設定:SiteSetting.same_site_cookies = "Lax"。
質問:ログインがiOSのアプリ内ブラウザから開始され、その後Discourseアプリへのディープリンクが実行される場合、Discourseのモバイルアプリの認証フローは信頼できることが期待されますか?
same_site_cookiesを「None」に変更することが推奨される緩和策でしょうか、それともより良いアプローチがありますか?