皆さん、こんにちは。
Discourse インスタンスに、特定のユーザーグループに制限されたプライベートカテゴリがあります。新しいユーザーが OAuth2 経由でログインした後、このカテゴリにアクセスできるようにリンクを作成しました。
しかし、まだ Discourse アカウントを持っていない新しいユーザーがそのリンクをクリックすると、次のメッセージが表示されます。
「申し訳ありませんが、このフォーラムへのアクセスは招待制です。」
このため、OAuth2 ログインフローに進むことができず、カテゴリに到達できません。既存のユーザーは通常どおりアクセスできます。
新しいユーザーが OAuth2 でサインインし、その後適切なグループに追加されてカテゴリを表示できるようにしたいのですが、現在 Discourse はログイン前にユーザーをブロックしています。
ヘルプが必要な点
OAuth2 とグループベースのカテゴリ制限を適切に設定する方法について、ご指導いただけると幸いです。

こんにちは。Discourse のサイト設定である「invite only」を確認し、有効になっている場合は無効にしていただけますでしょうか。
「invite only」を無効にすると、新しいユーザーが OAuth2 を使用してサインインまたは登録できるようになります。
サインイン後、グループメンバーシップのルール(自動または手動割り当て)を使用して、プライベートカテゴリへのアクセス権を付与できます。
「いいね!」 1
招待専用を無効にし、プライベートカテゴリのグループ招待リンクを作成しました。新しいユーザーがリンクをクリックすると、当社のOAuth2 SSO経由でログインしますが、グループに自動的に追加されないため、カテゴリを表示できません。
グループ招待リンクが新しいSSOユーザーをグループに追加しない理由と、OAuth2 SSOユーザーが招待リンク使用時に自動的に追加されるようにする方法について、サポートが必要です。
こちらのディスカッションをご確認いただけますでしょうか:
そして、ログの「グループの追加 (add groups)」、「グループ (groups)」、「グループの削除 (remove groups)」フィールドの値を確認していただけますか?
最近、同様の問題が発生しましたが、OpenID Connect プラグイン設定で「OpenID Connect によるメールでの照合」オプションを無効にすることで解決しました。
私たちのケースでの主な違いは、SSO としてセルフホスト型の Authentik インスタンスを使用しており、新しいユーザーのアカウントが Authentik で設定されると、Discourse アカウントを作成する Authentik Webhook があることです。この Webhook で、Discourse アカウントが作成され、その後、Authentik アカウントがアクセスできるグループに基づいて Discourse グループに追加されます。
(デフォルト値と異なる)適用されているその他の関連設定は次のとおりです。
ログイン設定:
- ログイン必須
- 招待制
- ローカルログインを有効にする(無効)
- メールによるローカルログインを有効にする(無効)
- サインアップ CTA を有効にする(無効)
- 認証スキップ作成確認(有効)
OpenID Connect プラグイン設定:
- OpenID Connect 承認スコープ (email openid profile)
- OpenID Connect によるメールでの照合(無効)
「いいね!」 1