SCIM プラグイン

:information_source: 概要 SCIMサービスプロバイダーエンドポイントを追加する
:hammer_and_wrench: リポジトリリンク https://forge.libre.sh/libre.sh/discourse-scim
:open_book: インストールガイド Discourseにプラグインをインストールする方法

機能

SCIMエンドポイントをDiscourseに追加するプラグインです。SCIMは、IETFによってRFC7644およびRFC7643を通じて提案された標準であり、シンプルなRest APIによるユーザー/グループ管理ソリューションを提供することを目的としています。

既存のSSOや一元化されたアカウント作成に加えて、SCIMには以下の利点があります。

  • ユーザーをグループに割り当てる。
  • 複数のアプリでユーザー情報を即座に変更する。
  • SSOから削除されたときにユーザーを削除する。
  • ユーザーまたはグループのリストを標準的な方法で取得する。

このプラグインは、クライアントとしてkeycloak SCIM pluginおよびauthentik SCIM providerでテストしました。keycloakまたはauthentikでユーザーを追加/編集すると、その変更がDiscourseに自動的に反映されるという考え方です。

設定

SCIMエンドポイントをクエリするには、まずAPIキーを作成する必要があります。グローバルAPIキーをすべてのユーザーに対して使用することも、ここで説明されているように、すべてのユーザーに対してきめ細かい(スコープ付き)APIキーを使用することもできます: Create and configure an API key
スコープscimを使用してください。現在、すべてのエンドポイントへのアクセスをまとめて許可する必要があります。

次に、たとえばcurlですべてのユーザーをクエリするには次のようにします。

$ curl -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/scim+json' -v http://localhost:4200/scim_v2/Users
「いいね!」 6