OpenId Connectを使用してOktaでLiferay認証を構成する
このチュートリアルでは、OpenID Connect を使用して、アイデンティティ プロバイダー (IdP) である Okta を環境に統合するために必要な基本的な手順について説明します。
前提条件
- Okta Dev アカウント
- Liferay DXP環境
- Okta管理コンソールへの管理者アクセス権を持つユーザー
- Liferayのコントロールパネルへの管理者権限を持つユーザー
Oktaの設定
-
Okta Dev にログインし、 アプリケーション → アプリケーションの追加 → アプリ統合の作成に移動します。
-
サインイン方法で OIDC - OpenID Connectを選択し、アプリケーションの種類で Web アプリケーションを選択します。

-
アプリ統合名として「 Liferay DXP - OIDC 」と入力します。
-
付与タイプには、 認証コード と リフレッシュトークンを選択します。
-
サインイン リダイレクト URI として
https://[your_instance_url]/c/portal/login/openidconnectを入力します。 -
サインアウトリダイレクト URI として
https://[your_instance_url]を入力します。 -
割り当ての下で、 今はグループの割り当てをスキップを選択します。
-
[保存]をクリックします。
-
[割り当て] タブで、このアプリケーションにユーザーを割り当てます。
注引き続き Liferay 管理者としてログインできるように、必ず自分自身のユーザー アカウントを割り当ててプロビジョニングしてください。
エンドポイントURLの取得
-
Okta Dev アカウントで、サイドパネルに移動し、 セキュリティ → APIに移動します。
-
「認証サーバー」タブで、
defaultという名前のサーバーを見つけてクリックし、その構成を編集します。
-
“メタデータURI” リンクをクリックします。通常は次のようになります: https://dev-123456.okta.com/oauth2/default/.well-known/oauth-authorization-server
issuer: "https://dev-123456.okta.com/oauth2/default" authorization_endpoint: "https://dev-123456.okta.com/oauth2/default/v1/authorize" token_endpoint: "https://dev-123456.okta.com/oauth2/default/v1/token" registration_endpoint: "https://dev-123456.okta.com/oauth2/v1/clients" jwks_uri: "https://dev-123456.okta.com/oauth2/default/v1/keys" -
これにより、 /userinfo エンドポイントを除く必要な URL が提供されます。 ベース URL と認証サーバー名を組み合わせることで、そのエンドポイントを構築できます。 たとえば、 https://dev-123456.okta.com/oauth2/default/v1/userinfoです。
Liferay OIDC 設定
電子メール通知を送信するには、インストール時にメール サーバー への接続が 構成されている必要があります。 あるいは、 他人にメールアドレスの確認を要求する機能を無効にすることもできます。 詳細については、 ヒントとトラブルシューティング を参照してください。
-
DXP インスタンスで、 グローバル メニュー → コントロール パネル → インスタンス設定 → セキュリティ → SSOに移動します。
-
OpenID Connect プロバイダー接続 タブに移動して、新しい接続エントリを追加します。
-
以下の表に示すように、 エンドポイント URLで見つかったデータをフィールドに入力します。
項目 データ プロバイダー名 Okta OIDC 範囲 scopes_supported認証エンドポイント 認証エンドポイントURL発行者URL 発行者URLJWKS URI jwks_uriURLサブジェクトタイプ subject_types_supportedトークン エンドポイント トークンエンドポイントURLユーザー情報エンドポイント エンドポイントURLの取得の手順4に従います。 OpenID Connect クライアントID Oktaのアプリケーションの 一般 タブの下 OpenID Connect クライアントシークレット Oktaのアプリケーションの 一般 タブの下
完了したら、OpenID Connect を有効にする必要があります。 OpenId Connect を有効にするには:
-
グローバル メニュー → コントロール パネル → 構成 → インスタンス設定に移動します。
-
セキュリティ セクションの SSO をクリックします。
-
OpenID Connect タブに移動し、 有効 チェックボックスをクリックして、 保存をクリックします。

入力値の検証
-
Liferay DXPインスタンスを起動する
-
サインイン ボタンをクリックし、 OpenId Connectを選択します。

-
リストから クライアントから Okta OIDC を選択します。

-
Okta アカウントでサインインします。

さいごに
このソリューション チュートリアルは正常に完了しました。
ヒントとトラブルシューティング
サインインとサインアウトのリダイレクト URI
下の画像のようなエラーが発生した場合は、サインインおよびサインアウトのリダイレクト URI が適切なパスとハイパーテキスト転送プロトコル (HTTP または HTTPS) を使用して Okta で正しく構成されていることを確認してください。 これらは、作成したアプリケーション → 一般 タブ → 一般設定 → ログイン セクションに移動すると、Dev Okta アカウントで見つけることができます。

メールアドレスを確認する
デフォルトでは、新規ユーザーは初回ログイン時にメールアドレスを確認する必要があります。 この要件を無効にするには、Liferay DXP で “[知らない人にメールアドレスの確認を要求する]” チェックボックスをオフにします。 コントロール パネル → インスタンス設定 → プラットフォーム → ユーザー認証 に移動して、チェックボックスをオフにします。 ただし、電子メールのバリデーションを有効にしておきたい場合は、インストール時にメールサーバーへの接続設定が必要です。
