- アプリケーションにカスタムのログインルートハンドラーを追加します。
-
SAML 接続を次のように更新します。
- 受信した IdP 起点の SAML レスポンスを受け入れる。
- SP 起点の認証リクエストを送信するデフォルトのアプリケーションにリダイレクトする。
仕組み

- ユーザーが SAML IdP のログインエンドポイントにアクセスします。
- SAML IdP がログインページを返します。
- ユーザーが認証情報を SAML IdP に送信します。
- SAML IdP はユーザーのセッションを作成し、Form Post と SAML レスポンスを含む HTML ページを返します。
- ページは HTTP
POST呼び出しによって、SAML レスポンスを Auth0 テナントに自動送信します。 - Auth0 テナントは、IDトークンを URL フラグメントとして付加し、ユーザーのブラウザーを OIDC アプリケーションのカスタムログインルートハンドラーにリダイレクトします。
- ブラウザーは、
connectionパラメーターと IDトークンを指定して、OIDC アプリケーションのカスタムログインルートハンドラーを呼び出します。 - OIDC アプリケーションは IDトークンを無視し、
connectionパラメーターを解析し、セッション用のstateパラメーターを作成したうえで、ユーザーのブラウザーを Auth0 テナントの/authorizeエンドポイントにリダイレクトします。 - ブラウザーは、指定された
connectionパラメーターとstateパラメーターを使用して、Auth0 テナントの/authorizeエンドポイントを呼び出します。 - Auth0 テナントは SAML ログインリクエストを生成し、ユーザーのブラウザーを SAML IdP のログインエンドポイントにリダイレクトします。
- ブラウザーは SAML ログインリクエストを SAML IdP のログインエンドポイントに送信します。
- SAML IdP はユーザーのセッションを見つけ、Form Post と SAML レスポンスを含む HTML ページを返します。
- ページは HTTP
POST呼び出しによって、SAML レスポンスを Auth0 テナントに自動送信します。 - Auth0 テナントは、ユーザーのブラウザーをアプリケーションのログインルートハンドラーにリダイレクトします。
- ブラウザーは、指定された
stateパラメーターと IDトークンを指定して、アプリケーションのログインルートハンドラーを呼び出します。 - OIDC アプリケーションは
stateパラメーターを検証し、IDトークンを解析して、ユーザーのアプリケーションセッションを作成します。
カスタムログインルートハンドラーを作成する
connection パラメーターを受け取り、それを Auth0 テナントに送信する認証リクエストに含める必要があります。
カスタムログインルートハンドラーは、標準のログインルートハンドラーとは別のエンドポイントに関連付けることをお勧めします。たとえば、標準のログインルートハンドラーが /login エンドポイントに関連付けられている場合は、カスタムログインルートハンドラーを /startlogin エンドポイントに関連付けることができます。
例
connection パラメーターに対応するようにログインメソッドを次のように更新できます。
クエリ文字列を作成する
redirect_uri パラメーターが含まれます。このパラメーターの値は URL エンコードする必要があり、次の要素で構成されます。
- カスタムログインルートハンドラーに関連付けられたアプリケーションのエンドポイント。
- 値に SAML 接続名を指定した
connectionパラメーター。
例
https://exampleco.com/startlogin で、SAML 接続の名前が my-saml-connection の場合、クエリ文字列は redirect_uri=https%3A%2F%2Fexampleco.com%2Fstartlogin%3Fconnection%3Dmy-saml-connection です。
アプリケーションを設定する
- Auth0 Dashboard > Applications > Applications に移動します。
- Auth0 で OIDC アプリケーションを表す新しい Application を作成します。
- Allowed Callback URLs を更新し、カスタムログインルートハンドラーに対応するアプリケーションエンドポイントを追加します。
接続を設定する
- Auth0 Dashboard > Authentication > Enterprise > SAML に移動します。
- 新しい SAML 接続を作成します。
- IdP-Initiated SSO ビューに切り替えます。
- Accept Requests を選択します。
- Default Application で、事前に作成したアプリケーションを選択します。
- Response Protocol で、OpenID Connect を選択します。
- Query String に、事前に作成したクエリ文字列を入力します。