Discourse용 Slack 로그인/SSO 기능 요청

Discourse에 Slack를 SSO 옵션으로 추가할 수 있을까요? 이 주제에 대한 오래된 스레드(아래 링크)를 봤는데, 삭제되었거나 비공개로 전환된 것 같습니다. 조언이 있다면 알려주시면 감사하겠습니다. 채팅 연동 기능은 있다는 것을 알고 있지만, Slack 사용자가 자신의 계정으로 로그인할 수도 있도록 하고 싶습니다. 감사합니다.

Slack는 SSO를 위해 SAML을 제공하지만, Plus 또는 Enterprise 플랜 고객에게만 제공됩니다:

해당 플랜 중 하나를 사용 중이신가요?

공식 SAML 플러그인은 이미 존재하며, 여기에서 확인할 수 있습니다:

그 기사는 Slack을 SSO 클라이언트로 사용하는 방법에 대한 것입니다.
OAuth2를 사용하는 “Slack으로 로그인” 기능이 있습니다: Using Sign in with Slack | Slack Developer Docs 다만, 저는 직접 사용해 본 적이 없습니다.

Screen Shot 2020-04-22 at 2.56.25 PM 을 추가하는 것이 제 목표입니다.

Sign in 문서는 우리 Discourse에 훌륭한 새로운 추가 요소로 보입니다. 채팅 통합도 활성화했는데, 이것도 좋습니다. Discourse tests-pass 환경에서 이 버튼을 커스텀 옵션으로 추가하는 방법은 제 수준을 조금 넘어선 것 같습니다. 방법을 찾게 되면, 이 소셜 로그인은 Github나 Patreon과 같은 다른 소셜 로그인과 잘 어울릴 것입니다.

문서에 따라 Slack에서 Oauth 액세스 권한이 있는 앱을 생성했습니다… 이제 버튼 생성 단계에 있습니다.

Slack에 표시되는 내용:

App ID
Client ID
Signing Secret
Client Secret
Verification Token
Oauth Access Token
redirect url이 https://example.domain.com/slack/auth로 추가됨

Discourse에서 확인되는 옵션:

enable sso provider
sso url – 단일 로그인(Single Sign On) 엔드포인트 URL (http:// 또는 https:// 포함 필수)
sso secret – SSO 정보를 암호학적으로 인증하는 데 사용되는 시크릿 문자열, 10자 이상이어야 함

이 문서를 설정을 시도하고 있습니다:

Slack은 다음을 지원합니다.
identity.avatar - 사용자의 Slack 아바타 보기
identity.basic - 사용자 신원에 대한 정보 보기
identity.email - 사용자 이메일 주소 보기
identity.team - 사용자의 Slack 워크스페이스 이름 보기

Slack 사용자 아바타와 가능하면 워크스페이스 이름도 표시하면 좋겠습니다. Discourse를 사용할 때 이메일은 매우 중요하므로 이메일에 접근할 수 있는 것도 유용할 것 같습니다.

음, 해당 가이드에서 SSO를 활성화하면 다른 모든 로그인/가입 설정이 완전히 무시되는 것 같습니다.

아래 설정으로 Slack SSO를 성공적으로 작동시켰습니다:
sso url = https://slack.com/oauth/v2/authorize?user_scope=identity.basic&client_id=EXAMPLE
sso secret = Client Secret

하지만 저는 이걸 버튼으로 추가하고 싶을 뿐입니다. 이 버튼을 Discourse에 구현하는 방법에 대한 제안을 환영합니다. :+1:
Screen Shot 2020-04-22 at 2.56.25 PM

현재는 oauth2-basic 플러그인을 통해 Auth0를 사용하는 방법을 참고하여 버튼을 추가하는 방법을 조사하고 있습니다:

안녕하세요, 이 내용을 따라가며 조사해 보고 있는데, 여러분의 디스커스에서 이 문제가 어떻게 해결되었는지 업데이트가 있을까요?

모든 구성요소는 이미 갖춰져 있지만, 그때는 어떻게 해야 할지 몰랐습니다. 시간이 좀 흘렀으니 한 번 시도해 보세요! 관리자 권한으로 Slack OAuth 패널을 사용해 Discourse에 추가해 보세요.