Configuring Single Sign-On
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

OpenID Connectを使用してAuth0でLiferay認証を設定する

このチュートリアルでは、OpenID Connectを使用して、IDプロバイダー(IdP)であるAuth0をLiferay環境に統合する手順を説明します。

前提条件

  • Auth0 アカウント
  • Liferay DXP環境
  • Auth0のダッシュボードへの管理者権限を持つユーザー
  • Liferayのコントロールパネルへの管理者権限を持つユーザー
  • Auth0プロフィールに氏名(姓と名)が入力されているAuth0ユーザー

Auth0 設定

  1. Auth0 にログインしてください。

  2. Auth0のダッシュボードを開く

  3. サイドメニューから アプリケーション を選択し、新しいアプリケーションを作成します。

    サイドメニューから「アプリケーション」を選択し、新しいアプリケーションを作成します。

  4. 任意の名前を設定し、アプリケーションの種類として 通常の Web アプリケーション を選択します。

    通常のWebアプリケーションの種類を選択してください

  5. をクリックして を作成し、アプリケーションを準備してください。

  6. クライアントIDとクライアントシークレットは、「設定」タブで確認できます。 後で必要になりますよ。

    クライアントIDとクライアントシークレットは「設定」タブで確認できます。

  7. アプリケーションURIセクションまでスクロールダウンして、許可されたコールバックURLフィールドを設定し、 https://[your_liferay_environment]/c/portal/login/openidconnect と入力します。

    アプリケーションURIセクションの「許可されたコールバックURL」フィールドを設定します。

  8. 追加設定を編集するには、ページ下部の「詳細設定」にアクセスしてください。

  9. アプリケーションの設定を保存するには、 変更を保存 をクリックしてください。

  10. Auth0の設定が完了したので、Auth0アプリケーションをLiferay DXPに設定できます。

テスト中でユーザーがいない場合は、Auth0 ダッシュボードで ユーザー管理ユーザー に移動してユーザーを作成してください。 各ユーザーは、Auth0 プロファイルに名と姓を設定する必要があります。Auth0 は、これらの名と姓を given_name および family_name クレーム (サインイン時に Auth0 が Liferay に送信するユーザー情報の一部) として返します。Liferay は、ユーザー アカウントを作成するためにこれらのクレームを必要とします。

OpenID Connectプロバイダー接続の設定

Auth0の設定が完了したら、Liferayのインターフェースを使用してプロバイダー接続を設定します。 すべての設定は、プロバイダの周知設定エンドポイントを通じて行われます。

Auth0 の Well-Known URI は https://[your-default-tenant].us.auth0.com/.well-known/openid-configuration です。 デフォルトのテナントを見つけるには、プロファイルに移動して Default Tenantを探すか、URL の /profile の前の項目を探してください。

  1. DXP インスタンスで、 グローバル メニューコントロール パネルインスタンス設定セキュリティSSO に移動します。

  2. OpenID Connect プロバイダー接続 タブに移動し、新しい接続エントリを追加します。

  3. 下記の表に示されているとおり、各項目に要求されたデータを入力してください。 スコープ以外のすべてのフィールドについては、上記に記載されている周知のURLの値を使用してください。 スコープの値は、表示されているとおりに正確に入力してください。

    Scopes の値 (openid email profile) は固定文字列であり、Well-Known URL には含まれていません。

    項目データ
    プロバイダー名Auth0 OIDC
    範囲openid email profile
    認可エンドポイント認証エンドポイント URL
    発行者URL発行者 URL
    JWKS URIjwks_uri URL
    IDトークンの署名アルゴリズムid_token_signing_alg_values_supported url
    サブジェクトタイプサポートされている主題タイプ URL
    トークンエンドポイントトークンエンドポイント URL
    ユーザー情報エンドポイントuserinfo_endpoint url
    OpenID Connect クライアントIDAuth0 のアプリケーションの 設定 タブで
    OpenID Connect クライアントシークレットAuth0 のアプリケーションの 設定 タブで
重要

プロファイル スコープが必要です。 Liferay は、Auth0 からの given_name および family_name クレームをユーザーの名と姓にマッピングします。 新規ユーザーアカウント作成時にトークンにこれらのクレームが含まれていない場合、マッピングエラーが発生し認証が失敗します。 Auth0 は、 プロファイル スコープが要求され、ユーザーの Auth0 プロファイルにこれらのフィールドが入力されている場合にのみそれらを返します。詳細については、 名または姓がありません を参照してください。

変更内容が保存されるように、必ず をクリックして保存 をクリックしてください。

それが完了したら、OpenID Connectを有効にしてください。 OpenID Connectを有効にするには:

  1. DXP インスタンスで、 グローバル メニューコントロール パネル設定インスタンス設定 に移動します。

  2. セキュリティセクションの SSO をクリックしてください。

  3. OpenID Connect タブに移動し、 有効 チェックボックスをクリックして、 保存 をクリックします。

    OpenID接続を有効にするには、「有効」チェックボックスをクリックしてください。

入力値の検証

  1. Liferay DXPインスタンスを起動します

  2. サインイン ボタンをクリックし、 OpenID Connect を選択します。

    「サインイン」ボタンをクリックして、「OpenID Connect」を選択してください。

  3. リストから Auth0 OIDC を選択し、Auth0 アカウントでサインインしてください。

    リストからAuth0を選択し、Auth0アカウントでサインインしてください。

  4. 「サインイン」をクリックすると、Auth0のログインページにリダイレクトされます。

    「サインイン」をクリックすると、Auth0のログインページにリダイレクトされます。

  5. ユーザーのメールアドレスとパスワードを入力してください。 ログインに成功しました。

  6. Liferay管理者アカウントで再度ログインしてください。 コントロール パネルユーザーと組織に移動し、アカウントが Liferay に登録されていることを確認します。

さいごに

  ユーザーはAuth0を使用して、お客様の環境への認証を行うことができるようになりました。

ヒントとトラブルシューティング

コールバックURLの不一致

下記のようなエラーが発生した場合は、Auth0で許可されたコールバックURLが適切なパスとハイパーテキスト転送プロトコル(HTTPまたはHTTPS)で正しく設定されていることを確認してください。 Auth0アカウント内でこれらを確認するには、作成したアプリケーション →[設定] タブ → [アプリケーションURI] セクションへと移動してください。

許可されたコールバック URL で適切なパスと Hypertext Transfer Protocol を使用していない場合にエラーが発生します。

名または姓が欠落しています

認証が失敗し、名または姓が欠落しているというメッセージが表示された場合、Auth0 はトークン内の given_name または family_name クレームを返しません。 原因は大きく分けて2つあります。

  • プロファイル スコープは含まれていません。 OpenID Connect プロバイダー接続の Scopes フィールドが openid email profile に設定されていることを確認してください。
  • ユーザーのAuth0プロファイルが不完全です。 プロファイル スコープは、Auth0 でこれらのフィールドに入力されている場合のみ、 given_namefamily_name を返します。 これらを設定するには、Auth0 ダッシュボードで ユーザー管理ユーザー に移動し、ユーザーを開いて、 フィールドを更新します。 プログラムによる更新(API認証情報と開発者アクセスが必要)については、 Auth0管理API を参照してください。

いずれかの修正を適用した後、サインイン手順を再度お試しください。 アカウントが作成されたことを確認するには、Liferay DXP の コントロール パネルユーザーと組織 に移動します。