`sso overrides groups` は Oauth2 で機能しますか?

この機能を利用したいと考えています。私たちはビジネスホストプランを利用しているため、SAML は利用できず、代わりに OAuth2 / OpenID Connect を使用しています。設定はすべて正しく行われていると思います(sso overrides groups がオンになっており、oauth2 scopeopenid profile email https://id.fedoraproject.org/scope/groups に設定されています)。

Discourse が「SSO」という言葉をどのように使っているか、またどのオプションがどこに表示されるかについては少し混乱しています。ただし、sso overrides username を使用しており、それは機能しています。これについても同様に機能することを期待してもよいでしょうか?

「いいね!」 1

SSO によるグループの上書き設定は OAuth2 では機能しません。この設定が機能するのは、Discourse 独自の SSO 実装の場合のみです:https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045。この問題に関する混乱を避けるため、Discourse SSO を DiscourseConnect に名称変更する作業を進めています。

「いいね!」 1

おっと、残念ですね。リネームは混乱を減らすのに確かに役立ちますが、私のニーズには対応していません。この制限は意図的なものですか、それとも単に実装されていないだけでしょうか?

この設定は、OAuth2 ログインで使用されるコードパスとは別のパスを使用します。OAuth2 経由でのグループ同期は実装されていません。Discourse において、外部サイトのグループと Discourse のグループを同期できる機能には多くのユースケースがあるため、将来的に実装されることを願っています。現時点では、グループのメンバーシップを API 経由で管理するしかありません。

「いいね!」 4

つまり、OAuth2 での groups 実装に向けた非常に初期段階の潜在的なパッチがいくつかあります:

:warning: ただし、ホスト型プランを利用しているため、これらをテストするための迅速なステージング環境が用意されておらず、現時点では完全に理論上のものです。近々そのような環境を構築できるよう努めますが、これは誰の本業でもありません。そのため、もし他の誰かがこれらのレビューやテストを手伝ってくれるなら、それは本当に 素晴らしいこと です。

「いいね!」 3

それらのプルリクエストを当社のリポジトリに対して提出していただければ、レビューを行います。マージを保証することはできませんが、少なくともレビューは実施されます。

「いいね!」 3

素晴らしい、ありがとう。実際に動作するか確認するために、ローカルテストか、親切なボランティアに試してもらうかして、まず検証し、その後で :warning: を削除しようと思います。

「いいね!」 2

この件に取り組む時間が取れませんでした(できる人を見つけることもできませんでした)。もしこれを読んでいてお手伝いいただける方がいらっしゃれば、とても助かります。

Managing group membership via authentication - #14 by mattdm が完了次第、OAuth2 プラグインとの連携も検討していく予定です :slight_smile:

「いいね!」 3

上記のリンク先の変更をデプロイしましたが、Discourse が壊れた様子はありません。変更によって何かが壊れていないか確認するために、テストの実行方法に関するドキュメントはありますか?

「いいね!」 1

いいね!壊すのは別として、ちゃんと機能してる?

長話短縮ですが、Fedora アカウントシステム(FAS)または他の OIDC システム上でモックシステムを使って試してみない限り、私にはわかりません。ただ、ヘッドレス Chrome ブラウザ上で動作する Discourse のスモークテストの使い方を学びたいとも思っています。しかし、それに関する情報を見つけるのに苦労しています。

Discourse の関係者の方で、スモークテストの実行方法がわかる場所をご存知の方はいますか?

Fedora の関係者の方で、テスト用のモック FAS システムを提供していただける方はいますか?

「いいね!」 1

ふむ、Fedora アカウントシステムは結構大掛かりですね。(ただし、今年の主要なアップグレード以降は、裏側では FreeIPA を使用しているため、理論的には誰でも同様のシステムを構築できるはずです。)

もしかして、あなたのテスト用の Discourse を実際の Fedora アカウントシステムに接続することは可能でしょうか?

皆さん、こんにちは!ステージングOauth2インスタンスに追加できますが、それでよろしいでしょうか?

「いいね!」 1