Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso)

주된 질문이 external_id 필드에 관한 것 같습니다. DiscourseConnect 페이로드에 external_id 필드를 설정해야 합니다. 이 필드의 값은 사용자와 연관되며 절대 변경되지 않는 문자열이어야 합니다. 애플리케이션에 사용자 테이블이 있다고 가정합니다. 해당 테이블에서 사용자 항목의 기본 키를 external_id 필드의 값으로 사용하는 것이 좋습니다.

웹사이트에서 DiscourseConnect 인증을 추가하기 전에 사용자가 이미 Discourse 계정을 생성한 경우, 사용자가 DiscourseConnect를 통해 처음 로그인할 때 Discourse는 DiscourseConnect 페이로드에 포함된 이메일 주소를 기반으로 사용자를 찾으려고 합니다. 사용자를 찾은 후, Discourse 데이터베이스에는 DiscourseConnect 페이로드에서 가져온 external_id가 포함된 레코드가 추가됩니다. 사용자가 다음에 로그인할 때는 이메일 주소가 아닌 external_id로 찾게 됩니다. (참고: DiscourseConnect 페이로드의 require_activation 매개변수를 true로 설정한 경우 이 동작은 작동하지 않습니다.)

Discourse는 대부분의 엣지 케이스에 대해 좋은 폴백 메커니즘을 제공합니다. 사용자가 여러 계정을 보유하거나 이메일 주소와 관련된 문제로 인해 오류가 발생할 수 있습니다. 이러한 사례를 처리하는 방법에 대한 세부 사항은 여기에서 확인할 수 있습니다: Debug and fixing common DiscourseConnect issues.

1개의 좋아요