Discourse 로그에서 OIDC 실패가 발생하고 있습니다: /auth/oidc (POST)에서 `CSRFTokenVerifier::InvalidCSRFToken` 오류가 발생합니다

안녕하세요,

현재 Discourse 2026.2.0-latest(26f3e2aa87) 버전을 사용 중입니다 (Docker 설치, 기본 nginx 템플릿, Cloudflare 미사용). OpenID Connect(Microsoft Entra / Azure AD)를 활성화해 두었습니다.

사용자가 OIDC를 통해 가입/로그인을 시도할 때 Discourse에 다음과 같은 오류가 기록됩니다:

(oidc) Authentication failure! CSRFTokenVerifier::InvalidCSRFToken

로그 항목에서 요청 정보가 다음과 같음을 확인할 수 있습니다:

  • REQUEST_URI: /auth/oidc
  • REQUEST_METHOD: POST
  • Referrer: /signup

same_site_cookies 값은 현재 Lax로 설정되어 있습니다.

제 가설은 IdP가 response_mode=form_post(크로스 사이트 POST)를 사용하여 응답을 반환하고, 이로 인해 SameSite=Lax 설정에서 콜백 시 세션 쿠키가 포함되지 않아 Discourse의 CSRF 검증이 실패한다는 것입니다.

질문:

  1. form_post 콜백을 사용하는 OIDC 제공자의 경우, same_site_cookies = None으로 설정하는 것이 권장되거나 지원되는 해결책인가요?
  2. 아니라면, SameSite=None이 필요하지 않도록 Discourse OIDC(또는 IdP)를 구성하여 콜백이 form_post가 아닌 GET(쿼리) 방식으로 이루어지도록 하는 권장 방법이 있을까요?
  3. Discourse OIDC 가입/로그인에서 SameSite=None 사용 시 보안 또는 호환성과 관련하여 주의해야 할 점이 있나요?

감사합니다!