SCIM 서비스 제공자 지원 추가

이미 여기에서 언급했듯이, Discourse가 SCIM 프로토콜을 지원하면 훌륭한 기능이 될 것이라 생각합니다. SCIM은 IETF가 RFC7644와 RFC7643를 통해 제안한 표준으로, 간단한 REST API를 통해 사용자/그룹 관리 솔루션을 제공하기 위한 목적으로 설계되었습니다. 우리의 사용 사례는 Keycloak와 같은 SCIM 클라이언트 역할을 하는 별도 서비스를 통해 사용자 신원 및 그룹 멤버십을 관리하는 것입니다. 이때 Discourse는 SCIM 서비스 제공자 역할을 하게 됩니다. 기존 SSO 및 중앙 집중식 계정 생성 기능 외에도 다음과 같은 장점이 있습니다:

  • 사용자를 그룹에 할당;
  • 여러 앱에서 사용자 정보를 즉시 변경;
  • SSO에서 사용자가 제거될 때 해당 사용자를 삭제;
  • 표준 방식으로 사용자 또는 그룹 목록을 조회;

우리는 SCIM 구현을 위해 NLNet의 NGI로부터 일부 자금을 지원받았습니다. 제안서와 관련 작업에 대한 내용은 우리 포럼의 여기에서 읽을 수 있습니다. 당분간은 Discourse 플러그인으로 첫 번째 솔루션을 구현해 보려 하지만, 궁극적으로는 Discourse 코어에 이를 통합하는 것이 좋겠습니다. 여러분의 의견과 생각을 들려주세요!

5개의 좋아요

그들의 스펙이 .well-known/scim/Users와 같은 경로 대신 /Users/Groups를 사용하고 있다는 점은 다소 이상해 보입니다. 기존 애플리케이션의 기존 라우트와 충돌할 가능성이 매우 높아 보입니다.

예산이 여유가 있다면 그 부분에서 도움을 드릴 수 있습니다.

잘 작성되어 널리 사용되거나(또는 여러 엔터프라이즈 고객이 요구한다면) 공식 플러그인으로 채택될 수 있을 것 같습니다.

핵심 코드의 일부가 될 것 같지는 않습니다. OAuth2조차도 플러그인으로 구현되어 있으니까요.

4개의 좋아요

SCIM 엔드포인트의 프리픽스로 어떤 경로든 사용할 수 있다고 생각합니다. 예를 들어 api/scim/v2/Users나 여러분이 제안하신 잘 알려진 경로 같은 것이죠.

네, 코어에 대한 우려를 이해합니다. 그래서 공식 플러그인으로 만들 수 있는 것이 하나의 목표가 될 수 있겠네요. 도움 제안도 감사드립니다. 추가 예산은 없지만, 앞으로 어떻게 발전해 나갈지 지켜보겠습니다.

1개의 좋아요

아, 그렇군요. 그렇게 되어 있을 거라고 짐작은 했지만, 빠르게 훑어보면서 그 부분을 놓쳤네요. 다른 인증 플러그인을 참고로 살펴보겠습니다.

이름에 'auth’가 포함된 공식 플러그인 목록입니다.

discourse-apple-auth/                  discourse-microsoft-auth/
discourse-authentication-validations/  discourse-oauth2-basic/
discourse-auth-no-email/               discourse-vk-auth/
discourse-development-auth/            discourse-wikimedia-auth/

흥미로운 프로젝트네요.

1개의 좋아요

플러그인의 첫 번째 버전이 이제 여기에서 사용할 수 있습니다:

매핑은 여전히 매우 단순하며, 사용자와 그룹의 기본 필드만 작동합니다. Keycloak SCIM 플러그인으로 테스트해 보았으며, Keycloak에서 사용자를 추가/수정하면 Discourse에서 해당 사용자가 생성/업데이트되는 것을 확인할 수 있습니다. Keycloak SCIM 플러그인은 여기에서 찾을 수 있습니다:

피드백을 환영합니다 :slight_smile: 우리 환경에서 Keycloak를 사용하여 더 많은 테스트를 진행할 예정이며, authentik으로도 테스트해보고 싶습니다.

4개의 좋아요

정말 멋지네요, 좋은 아이디어입니다. 직접 테스트해 볼 수 있기를 기대하고 있어요. 감사합니다!

Customization > Plugin 카테고리에 토픽으로 올려주시면 좋겠습니다 :slight_smile:

1개의 좋아요

플러그인 카테고리에서 게시 버튼이 비활성화되어 있으며, 해당 카테고리에서 게시할 권한이 없다는 메시지가 표시됩니다.

@plugin_authors 그룹에 가입하세요. 그러면 해당 카테고리에 주제를 만들 수 있습니다.

아, 감사합니다. 요청을 보냈어요 :slight_smile:

1개의 좋아요

… 그리고 마침내 게시했습니다: SCIM Plugin

2개의 좋아요