Discourse 向けの OneLogin SAML 設定

OneLogin の SAML を使用したログインと登録を Discourse で有効にする方法について説明します。

OneLogin の設定

OneLogin アカウントの作成

OneLogin にアクセスし、アカウントを作成してください。

新しいアプリの作成:SAML Test Connector (IdP w/attr)

ダッシュボードから新しいアプリを作成します。

SAML Test Connector (IdP w/attr) を検索します。

アプリの設定

Discourse インスタンスの URL が http://discourse.example.com であると仮定して設定します。

Configuration タブに切り替え、以下の詳細を入力してください。

  • Audience: http://discourse.example.com
  • Recipient: http://discourse.example.com/auth/saml/callback
  • ACS (Consumer) URL Validator: ^http:\\/\\/discourse\\.example\\.com\\/auth\\/saml\\/callback\\/$
  • ACS (Consumer) URL: http://discourse.example.com/auth/saml/callback

証明書情報と SAML 2.0 エンドポイントのコピー

SSO タブに切り替えます。

証明書の下の View Details リンクをクリックし、SHA fingerprintX.509 Certificate をコピーします。Discourse アプリの設定時に使用するため、メモしておいてください。

SAML 2.0 Endpoint (HTTP) の URL もコピーしてメモしてください。

Discourse の設定

discourse-saml プラグインのインストール

discourse-saml プラグイン のインストールについては、こちらのガイド を参照してください。

discourse-saml プラグインの設定

このプラグインには 2 つの設定方法があります。

オプション 1: サイト設定(推奨)

インストールと再ビルド後、Discourse の管理パネルに移動し、管理 → プラグイン → SAML を選択します。saml_enabled 設定を有効にし、以下を設定してください。

  • saml_target_url: OneLogin の SSO タブからコピーした SAML 2.0 Endpoint URL
  • saml_cert_fingerprint: OneLogin の SSO タブ → 証明書セクションからコピーした SHA fingerprint
  • saml_cert: OneLogin の SSO タブ → 証明書セクションからコピーした X.509 Certificate
  • saml_log_auth: デバッグ用に有効化

オプション 2: 環境変数

または、app.yml の環境変数を通じてプラグインを設定することも可能です。ただし、環境変数を使用する場合、すべての SAML サイト設定は管理 UI から非表示になります。

app.yml を編集します。

cd /var/discourse
vim containers/app.yml

env セクションの下に以下の変数を追加します。

DISCOURSE_SAML_TITLE: "Example SAML"
DISCOURSE_SAML_TARGET_URL: {SAML 2.0 Endpoint URL}
DISCOURSE_SAML_LOG_AUTH: "true"
DISCOURSE_SAML_CERT_FINGERPRINT: {SHA fingerprint}
DISCOURSE_SAML_CERT: {X.509 Certificate without line breaks}
  • {SAML 2.0 Endpoint URL} を OneLogin の SSO タブからコピーした SAML 2.0 Endpoint URL に置き換えます。
  • {SHA fingerprint} を OneLogin の SSO タブ → 証明書セクションからコピーした SHA fingerprint に置き換えます。
  • {X.509 Certificate without line breaks} を OneLogin の SSO タブ → 証明書セクションからコピーした X.509 Certificate に置き換えます。改行を含まず、開始および終了マーカーを削除してください。

アプリの再ビルド

変更を反映させるためにアプリを再ビルドします。

cd /var/discourse
./launcher rebuild app

完了!:tada:

これで OneLogin の SAML を使用してログインできるようになっています。

「いいね!」 6