(oauth2_basic) 인증 실패! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF 감지됨
어떤 아이디어가 있으신가요?
(oauth2_basic) 인증 실패! csrf_detected: OmniAuth::Strategies::OAuth2::CallbackError, csrf_detected | CSRF 감지됨
어떤 아이디어가 있으신가요?
Auth0를 등록과 로그인에 사용할 수 있는 유일한 방식으로 설정하는 것이 가능한가요?
네, 다른 모든 로그인 방법을 비활성화하면 됩니다. (enable local logins 설정 포함)
기본 가입 화면을 표시하지 않고 Auth0 가입 페이지로만 리디렉션하는 것이 가능한가요?
Discourse의 로그인/가입 UI를 모두 숨기려면 enable local logins 사이트 설정을 끄면 됩니다.
데이비드, 감사합니다. 말씀하신 대로 해 보았는데, 모달을 통해 가입한 후 Discourse로 다시 리디렉션되면 사용자 이름 등 기타 정보를 다시 입력하라고 요청합니다. 즉, Auth0에서 해당 정보를 Discourse로 다시 전달하지 않는 것으로 보입니다. 해결책은 Auth0 모달에서 가입 시 이메일 주소와 비밀번호만 입력하도록 간단히 유지하고, 나머지 세부 정보는 Discourse에서 받는 것이 아닐까 생각해 봅니다.
문제는 커스텀 데이터베이스를 Auth0에 연결하여 사용자 데이터를 한 곳에 유지하는 것이 목표라는 점입니다.
로그아웃 리다이렉트를 어떻게 설정하나요? 로그아웃에 관한 내용을 전혀 찾을 수 없어요.
사용자가 이미 Auth0에서 이메일을 확인하지 않은 경우에만 이메일 주소 검증을 요구하려면, oauth2 json email verified path 값은 email_verified입니다.
이것은 oauth2 debug auth 설정을 활성화하고 <DISCOURSE_URL>/logs에서 로그를 검사하여 확인했습니다. 인증되지 않은 계정으로 로그인했을 때, 본문은 다음과 같았습니다.
OAuth2 Debugging:
user_json: {
"sub"=>"auth0|XXXXXX",
"nickname"=>"YYYYY+unprovenauth",
"name"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"picture"=>"https://via.placeholder.com/150",
"updated_at"=>"2022-09-21T07:50:40.172Z",
"email"=>"YYYYYY+unprovenauth@ZZZZZZ.com",
"email_verified"=>false
}
도움을 주실 수 있을지 모르겠는데, Discourse를 Microsoft의 XBL 로그인으로 로그인하도록 설정하고 싶습니다. 이 플러그인이 시작점으로 적합할 것 같아 이렇게 질문드립니다.
dev 포럼에도 이 내용을 게시했습니다:
우리가 하려는 것과 동일한 방식을 사용하는 마인크래프트 디스코스 포럼인 "The Hive"가 있는데, 해당 플러그인을 찾을 수만 없네요. ![]()
안녕하세요!
커뮤니티에 게시물을 작성하려면 로그인을 필수로 하되, 게시물은 로그인 없이도 볼 수 있도록 설정하는 방법이 있을까요?
저희 커뮤니티에는 Auth0 플러그인을 활성화했습니다. 그리고 다른 모든 로그인 방식과 익명 게시 기능을 제거했습니다. 사실상 사용자가 게시물을 작성하기 전에 저희의 고객인지 확인하고 싶기 때문입니다. 하지만 로그인하지 않은 다른 사용자에게도 게시물이 열람되도록 하고 싶습니다.
Auth0 플러그인을 작동시킬 수 있었던 방식으로는, 콘텐츠를 보기 전에 먼저 로그인해야 합니다. 혹시 놓치고 있는 설정이나 옵션이 있을까요?
감사합니다!
login required 옵션을 활성화하신 것 같습니다. 이 옵션이 켜져 있으면 계정이 있는 사용자만 포럼 게시물을 볼 수 있습니다. SSO는 해당 옵션을 활성화하지 않아도 사용할 수 있어야 합니다. ![]()
회원가입 생성이 완료된 직후, 최종 사용자가 Auth0에서 이메일을 확인하기 전에 이 URL이 반환됩니다. 이메일이 확인되기 전에 커뮤니티로 전환되는 것을 방지하는 방법이 있을까요?
이 설정을 하는 데 문제가 있습니다. 모든 항목을 활성화하고 Discourse에서 가입 과정을 거치면 Auth0으로 잘 넘어가지만, 다시 돌아오면 오류 메시지가 표시됩니다(“Oops The software powering this discussion forum encountered an unexpected problem. We apologize for the inconvenience.”).
로그를 확인해 보니 제가 생각하기에 오류인 부분이 보입니다:
ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR: null value in column "provider_uid" of relation "user_associated_accounts" violates not-null constraint
설치 지침에 따라 모든 것을 올바르게 구성했는지 두 번 확인해 보았지만, 이 문제는 "OAuth2 JSON user ID path"가 잘못되어 해당 필드가 비어 있는 것 때문인 것 같습니다. 해당 필드를 sub로 설정해 두었습니다.
IDP가 user.name.full이라는 필드 설명 예시 대신 user.name.first와 user.name.last와 같은 개별 필드를 제공한다고 가정해 보겠습니다.
OAuth2 JSON 이름 경로 값을 여러 사용자 JSON 데이터 경로에서 연결(concatenate)하는 것이 가능한가요?