
Okta
オクタ
はじめに
Auth0では、Auth0自体のユーザデータベースだけではなく、外部のIdPで管理されているユーザアカウントを利用して、Auth0連携アプリケーションへログインできます。既存のIdPに登録済のユーザアカウント情報を、継続して利用でき、最小限の対応作業でAuth0への認証統合を実現できます。
Auth0における外部IdP連携では、Enterprise Connection機能を利用します。本ページでは、外部IdPとしてOkta Workforce(以下、Okta)、プロトコルをSAMLとし、必要となる設定と実際のログイン動作をご紹介します。
なお、今回はSAMLを利用した外部IdP連携例としてOktaを利用しますが、Auth0で連携テンプレートとして用意されているOktaは、OpenID Connectでの連携となりますので、ご注意ください。

Auth0がサポート対応する外部IdP
Auth0がサポート対応している外部IdPは、以下より確認できます。Okta Workforce Identity、Azure AD等、主要なIdPに対応しています。また、記載のないIdPについても、SAMLまたはOpenID Connectプロトコルに対応している場合は連携できます。
Enterprise Identity Providers - Auth0
前提
本ページ内の設定及び動作例では、以下が準備済の状態を前提とします。
- Auth0連携済のWebアプリケーション
- Okta Workforceテナント作成
Auth0によるログイン画面機能については、New Universal Loginを利用します。
※後述のConnection Button設定はClassic版非対応
また、本ページ記載の機能及び設定に関する内容は、2023年1月現在の情報となります。
設定概要
Auth0連携済のWebアプリケーションで、Oktaを外部IdPとする認証統合を実現するために、Auth0・Oktaそれぞれで必要となる設定は以下の通りです。※Auth0・Oktaの連携には、SAMLを利用します。
- アプリケーション登録
- Auth0側に登録する情報(Single Sign-On URL及びX.509 Certificate)の取得
- Okta向けEnterprise Connection設定
- IdP-initiated SSOの有効化
- ApplicationにおけるEnterprise Connectionの有効化
ここから、具体的な設定方法とログイン時の動作例をご紹介します。
設定例
Okta側の設定で必要となる以下の情報を確認
- Single sign-on URL:
https://<YOUR_DOMAIN>/login/callback?connection=<YOUR_AUTH0_CONNECTION_NAME> - Audience URI (SP Entity ID):
urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME>
【補足】"YOUR_DOMAIN", "YOUR_AUTH0_TENANT_NAME", "YOUR_AUTH0_CONNECTION_NAME"値について
- YOUR_DOMAIN: <YOUR_AUTH0_TENANT_NAME>.<REGION_DOMAIN>.auth0.com
※日本リージョン利用の場合、REGION_DOMAIN = jp - YOUR_AUTH0_TENANT_NAME:Auth0テナント名
※Auth0管理画面[Settings]>[General]タブ>[Tenant Name]から確認 - YOUR_AUTH0_CONNECTION_NAME:Auth0側で設定するSAML IdP連携用Connection名
※本設定例では"Okta-saml"
- Okta管理画面で[Applications] > [Applications]へ遷移後、[Create App Integration]をクリック

- Sign-in methodで[SAML 2.0]を選択し、[Next]をクリック

- アプリケーションの登録で[App name]に任意の名前を入力し、[Next]をクリック

- SAML設定で各値*を入力し、画面下部へ移動
*「1. Okta設定に必要となるAuth0側情報の整理」で確認した値
Single sign-on URL:
https://<YOUR_DOMAIN>/login/callback?connection=<YOUR_AUTH0_CONNECTION_NAME>
Audience URI (SP Entity ID):
urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME>

- Attribute Statementsで各値を入力し、画面下部へ移動
※他属性値をAuth0側に連携したい場合は、同様に追加することで連携可能
設定例)
Name | Name format | Value |
Unspecified | user.email | |
given_name | Unspecified | user.firstName |
family_name | Unspecified | user.lastName |

- [Next]をクリック

- [I'm an Okta customer adding an internal app]を選択し、[Finish]をクリック

- Auth0側への登録情報を取得するため、画面下部の[View SAML setup instructions]をクリック

- Identity Provider Single Sign-On URL値のコピー及びX.509 Certificateファイルをダウンロード

- Auth0管理画面で、[Authentication] > [Enterprise]をクリック

- [SAML]をクリック

- [Create Connection]をクリック

- 各項目の設定を行い、ページ下部へ移動
- Connection name:任意の設定名(<YOUR_AUTH0_CONNECTION_NAME>)
- Sign In URL:「2. Okta設定」でコピーしたIdentity Provider Single Sign-On URL値
- X.509 Signing Certificate:「2. Okta設定」でダウンロードしたX.509 Certificateファイル

- [Create]をクリック

- [Login Experience]タブでConnection Button設定を実施し、ページ末尾の[Save]をクリック
- Display connection as a button:チェック(ログイン画面上にOktaによるログインボタンを表示)
- Button display name:ボタン表示名称を指定

- [IdP-initiated SSO]タブで[Accept Requests]を選択し、各項目設定を行い、[Save Changes]をクリック
- Default Application:対象アプリケーションを選択
- Response Protocol:SAML

- [Mappings]タブで以下値を入力し、[Save Changes]をクリック
※"auth0_user_attribute": "Okta_saml_attribute"にて連携属性を追加設定可能
設定例)
{ "email": "email", "given_name": "given_name", "family_name": "family_name" }

- 連携するApplication設定で、作成したEnterprise Connectionを有効化

ログイン時の動作例: Oktaに登録済のユーザによるログイン




※連携設定した"email", "given_name", "family_name"も、Okta側の値が連携されていることを確認

まとめ
Auth0では、Enterprise Connection機能を利用することで、外部IdPを用いた認証処理を簡単に実現できます。無償のAuth0トライアル環境においてもEnterprise Connection機能をお試しいただけますので、ぜひ実感してください。
既存のIdPを活用したAuth0への認証統合についてご興味がある方は、是非弊社までお問い合わせください。
参考
お問い合わせ・資料請求
株式会社マクニカ Okta 担当
- TEL:045-476-2010
- E-mail:okta@macnica.co.jp
平日 9:00~17:00