SAML IDプロバイダーとしてのAuth0の構成
SAML 2.0を使用したSAML構成では、Auth0をIDプロバイダーとして使用できます。
Auth0サポートを組み込んだSSO統合
Dashboard>Applications>SSO Integrationsに移動して、[Create SSO Integration(SSO統合の作成)]を選択します。
SSO IDプロバイダー統合を選択します。次の画面で[Continue(続行)]をクリックします。
選択したプロバイダーの必要な詳細を入力し、[Save(保存)]をクリックします。
チュートリアルビューには、選択した統合に固有の追加の構成手順が表示されます。
次の統合の一部では、SAML2 Webアプリアドオンが使用されます。
SSO統合を手動で構成する
Auth0ダッシュボードで、SAML2 Webアプリアドオンを使用してSAML SSO統合を手動で構成できます。画面上の指示とサービスプロバイダーの設定で利用可能な情報を使用して、SAMLアドオンを構成できます。
サービスプロバイダーからアプリケーションコールバックURLを取得する
サービスプロバイダーからSAML認証アサーションを送信するURLを取得します。これは、[Assertion Consumer Service URL(アサーションコンシューマーサービスURL)]、[Post-back URL(ポストバックURL)]、または[Callback URL(コールバックURL )]と呼ばれることもあります。
Auth0でSAML SSOを構成する
Dashboard>Applications> Applicationsに移動し、新しいアプリケーションを作成するか、構築するアプリケーションの名前をクリックします。
[Settings(設定)]ページの下までスクロールし、[Advanced Settings(詳細設定)]をクリックします。
[Certificates(証明書)]タブを選択し、[Download Certificates(証明書のダウンロード)]をクリックして、
PEM
形式を選択します。証明書は{yourTenant}.pem
というファイルにダウンロードされます。このファイルを保存します。サービスプロバイダーを構成するときにアップロードする必要があります。[Endpoints(エンドポイント)]タブを選択し、[SAML Protocol URL(SAMLプロトコルURL)] を見つけます。コピーして保存します。サービスプロバイダーに提供する必要があります。
一番上までスクロールして、[Addons(アドオン)]タブを選択します。
[SAML2 Web App(SAML2 Webアプリ)]の切り替えを有効にします。
[Settings(設定)]タブで、Auth0がユーザーを認証した後に SAMLアサーションを送信するサービスプロバイダー(またはアプリケーション)からの[Application Callback(アプリケーションコールバックURL)]を入力します。これはアサーションコンシューマサービス(ACS)のURLです。
タブの最後までスクロールし、[Enable(有効)]をクリックします。
サービスプロバイダーがSAML要求で複数のACS URLを送信する場合は、アプリケーションの[Settings(設定)]タブに移動し、[Allowed Callback URLs(許可されたコールバック URL)]を見つけて追加することで、それらを許可リストに追加する必要があります。
サービスプロバイダーでSAML SSOを構成する
サービスプロバイダーアプリケーションを構成するために必要な情報を表示するには、SAMLアドオンの[Usage(使用法)]タブに移動します。
[Identity Provider Metadata(IDプロバイダーメタデータ)]を見つけて、[Download(ダウンロード)]をクリックしてメタデータファイルをダウンロードします。サービスプロバイダーに情報を追加して、Auth0にSAMLベースの認証要求を送信する方法を知らせます。ここで提供される手順は一般的なものです。サービスプロバイダーで適切な画面とフィールドを見つける必要があります。
サービスプロバイダーがメタデータファイルのアップロードをサポートしている場合は、SAML2 Webアドオンの[Usage(使用状況)]タブで取得したメタデータURLを指定します。
サービスプロバイダーがメタデータファイルのアップロードをサポートしていない場合は、SAMLアドオンの[Usage(使用状況)]ビューの情報を使用して、手動で設定を構成します。
ログインURLには、サービス プロバイダーがSAML認証要求を送信するURLである[Identity Provider Login(IDプロバイダーログインURL)]を使用します。
カスタムドメインがある場合は、Auth0ドメインではなく、カスタムドメインベースのURLを使用します。この形式のURLを使用する代わりに:
https://{yourTenant}.auth0.com/samlp/CLIENTID?connection=Username-Password-Authentication
この形式のURLを使用します:https://{yourCustomDomain}/samlp/CLIENTID?connection=Username-Password-Authentication
.[Organizations(組織)]を使用している場合は、クエリ文字列に
organization
パラメータとして組織IDを指定することにより、ユーザーを特定の組織のログインプロンプトに誘導できます。オプションで、connection
パラメータを含めて接続を指定することもできます。例:https://{yourTenant}.auth0.com/samlp/CLIENTID?connection=Acme-Saml-Connection&organization=org_123456789
サービスプロバイダーにログアウトURLのフィールドもある場合は、[Identity Provider Login URL(IDプロバイダーログインURL)]を再度入力します。ログインとログアウトはどちらも同じURLで処理されます。
SAMLアドオンの[Usage(使用状況)]ビューから証明書をダウンロードし、サービスプロバイダーに提供します。この証明書は、Auth0からサービスプロバイダーに送信される SAML認証アサーションの署名を検証するために使用されます。サービスプロバイダーが[Issuer(発行者)]を要求した場合は、SAMLアドオンの[Usage(使用状況)]ビューから発行者を取得することもできます。
構成をテストする
上記の設定が完了したら、ログインをテストします。
アプリケーションが最初に動作しない場合は、テストする前に毎回ブラウザの履歴と(理想的には)クッキーをクリアしてください。そうしないと、ブラウザがHTMLページの最新バージョンを取得できないか、実行に影響する古いクッキーが含まれる可能性があります。
SSOのトラブルシューティングを支援するために、インタラクションのHTTPトレースをキャプチャします。多くのツールは、分析のためにブラウザからのHTTPトラフィックをキャプチャします。
インターネットで「HTTP Trace」を検索し、ツールを見つけてインストールします。
ログインシーケンスを最初から最後までキャプチャし、トレースを分析します。GETのシーケンスを追跡して、予想されるシーケンスのどこまで取得できるかを確認します。元のサイトからSPへ、次にIdPへリダイレクトされ、ログインする必要がある場合は資格情報が投稿され、コールバック URLまたはSPへリダイレクトされ、最後にアプリケーションで指定されたコールバックURLへリダイレクトされます。
ブラウザでクッキーとJavaScriptが有効になっていることを確認してください。
http://samltool.ioツールを使用してSAMLアサーションをデコードします。