sok777
(sok)
1
SSO を使用して、既存のすべてのグループを上書きせずにグループを利用する方法はありますか?
例えば、外部ウェブサイトから 2 種類のメンバーシップグループ(group_a と group_b とします)を渡したいと考えています。
しかし、ユーザーが現在の trust_level グループを失いたくないし、一部のユーザーは独自のグループを持っていて、それによってプライベートカテゴリにアクセスできる状態を維持したいのです。
ここでのフォーラム投稿やマニュアルを読むと、SSO グループを選択すると、SSO が現在のグループも渡さない限り、既存のすべてのグループからユーザーが上書きされ、削除されてしまうようです。これは問題で、外部サイトのデータベースで各ユーザーの現在のグループを手動で更新し続けなければならないことを意味します。
何か見落としていることはありますか?
皆様、ありがとうございます。
「いいね!」 1
Falco
(Falco)
2
add および remove パラメータは、まさに必要な動作を行います。
「いいね!」 3
sok777
(sok)
3
ありがとうございます!add_groups を使用しても、現在のグループからユーザーを置き換えたり削除したりはしないのでしょうか?また、グループを手動で作成して許可する機能は引き続き使えるのでしょうか?
「いいね!」 2
mattdm
(Matthew Miller)
4
これを適用し、SSO側でユーザーがグループから削除されたが remove_groups に追加されていない場合、Discourse サイトではメンバーとして残りますよね?
Falco
(Falco)
5
「これ」とは、groups のことですか、それとも個別の add_groups と remove_groups のことですか?
実際に呼び出しているパラメータとエンドポイントの正確な内容を教えていただけますか?
mattdm
(Matthew Miller)
6
個々のものについてです。まだ何も実行しておらず、理解しようとしている段階です。
Falco
(Falco)
7
SSO は通常、ログインフロー中に発生します。
groups、add_groups、remove_groups のすべてのパラメータはオプションであり、グループのメンバーシップを扱います。
これは、サイト上の有効なユーザーが存在することとは無関係です。ただし、特定のグループのメンバーのみが閲覧できるサイトカテゴリのみを設定している場合は別です。
mattdm
(Matthew Miller)
8
申し訳ありません、言い換えさせていただきます。SSO に 1200 のグループがある場合、sso overrides groups を使用せずにグループメンバーシップを同期させたいとします。あるユーザーが 3 つのグループのメンバーである場合、その 3 つのグループを add_groups にリストし、残りの 1197 のグループを remove_groups にリストする必要があります(以前にそれらの 1197 のいずれかに所属していた可能性があり、削除された場合を考慮して)。
Falco
(Falco)
9
ご自身のケースでは、Discourse インスタンスに他の手動グループがないと仮定して、sso overrides groups サイト設定を有効にし、SSO ペイロードの groups パラメータに、ユーザーが現在所属している 3 つのグループを渡す必要があります。
ログイン時に、そのユーザーがその 3 つのグループのメンバーであり、他のすべての手動グループのメンバーではないことを保証します。
mattdm
(Matthew Miller)
10