Discourse-saml はマルチサイト互換ではありません

はい、まさに今それに気づきました。非常に残念です。:frowning:

つまり、実際にはプラグインの非互換性により、以下のようになります:

  1. マルチサイトでは最初のサイト(または DISCOURSE_HOSTNAME 経由で設定されているサイト)でのみ機能します
  2. ボタンは他のすべてのインスタンスのログインUIに表示されます
  3. しかし、それらのボタンは明確な解決策なしで失敗します。

discourse-saml 用の #customization:plugin 専用のトピックがないため、トピックを作成し、最初の投稿でこの注意点について言及することを提案します。SAMLについて言及された50以上のトピック からいくつかをまとめられると思います。もし事前にこれを知っていれば、サービスの設定を別々にしていたでしょう。

(ちなみに、元のCSPエラーは、iframeが現在のサイトではなく元のサイトを読み込もうとしているためである可能性が高いです。)

マルチサイトでのSAMLボタンの非表示

マルチサイトでSAMLプラグインを有効にした人々のための簡単な修正です。:slight_smile:

  1. 管理画面 > テーマ に移動し、「新規インストール」をクリック
  2. 新しいコンポーネントを作成(名前:「Hide SAML Button」)
  3. CSSを追加:
    #login-buttons .btn.btn-social.saml {
        display: none; /* プラグインはマルチサイトと互換性がありません */
    }
    
  4. すべてのテーマにコンポーネントを適用

これで、このインスタンスでは機能しないSAMLボタンが画面に表示されなくなります。