13.7.7. IDP によって開始される SSO の設定
通常 PicketLink では、SP は認証リクエストを IDP に送信してフローを開始します。これにより、有効なアサーションを持つ SP に SAML 応答が送信されます。このフローは SP 開始 SSO と呼ばれます。しかし、SAML 2.0 仕様は IDP 開始または未要求応答 SSO と呼ばれる別のフローも定義します。このシナリオでは、SP は認証フローを開始しず、IDP から SAML 応答を受け取ります。フローは IDP 側で開始し、認証されると、ユーザーはリストから特定の SP を選択し、その URL にリダイレクトされます。
手順
- ユーザーが IDP にアクセスします。
- IDP は SAML リクエストおよび応答がないことを確認し、SAML を使用する IDP の最初のシナリオを想定します。
- IDP はユーザーの認証を行います。
- 認証後、IDP は、すべての SP アプリケーションにリンクするページをユーザーが取得する、ホストされたセクションを表示します。
- ユーザーは SP アプリケーションを選択します。
- IDP は、クエリーパラメーターの SAML 応答に SAML アサーションを使用して、ユーザーをサービスプロバイダーにリダイレクトします。
- SP は SAML アサーションをチェックし、アクセスを提供します。
設定
未要求のレスポンスを取得するためには特別な設定は必要ありません。通常通り IDP および SP を設定できます。IDP および SP の設定方法に関する詳細は、以下を参照してください。
使用方法
ユーザーが認証されると、IDP には、すべてのサービスプロバイダーアプリケーションへのリンクを持つページが表示されます。通常、リンクは以下のようになります。
<a href="http://localhost:8080/idp?SAML_VERSION=2.0&TARGET=http://localhost:8080/sales-post/">Sales</a>上記のリンクは、TARGET クエリーパラメーターを渡す IDP にユーザーをリダイレクトし、値はターゲット SP アプリケーションへ URL になります。ユーザーが上記のリンクをクリックすると、IDP はリクエストから TARGET パラメーターを抽出し、SAML v2.0 応答をビルドし、ユーザーをターゲット URL にリダイレクトします。ユーザーが SP に到達すると、自動的に認証されます。
SAML_VERSION クエリーパラメーターを使用して、IDP が SAML 応答を作成するのに必要な SAML バージョンを指定できます。SAML_VERSION パラメーターには 2.0 および 1.1 のオプションを使用できます。