

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IdP SAML アサーションエンドポイント
<a name="saml2-idpresponse-endpoint"></a>

`/saml2/idpresponse` は SAML アサーションを受け取ります。サービスプロバイダーが開始した (SP が開始した) サインインでは、アプリケーションはこのエンドポイントと直接インタラクションを行いません。SAML 2.0 ID プロバイダー (IdP) は、SAML 応答を使用してユーザーをここにリダイレクトします。SP が開始したサインインの場合、`saml2/idpresponse` へのパスをアサーションコンシューマーサービス (ACS) の URL として IdP を設定します。セッション開始の詳細については、「[Amazon Cognito ユーザープールでの SAML セッション開始](cognito-user-pools-SAML-session-initiation.md)」を参照してください。

IdP が開始したサインインでは、SAML 2.0 プロバイダーでユーザーをサインインした後に、アプリケーションでこのエンドポイントへのリクエストを呼び出します。ユーザーがブラウザで IdP でサインインすると、アプリケーションは SAML アサーションを収集し、このエンドポイントに送信します。HTTPS 経由で `HTTP POST` リクエストの本文に SAML アサーションを送信する必要があります。`POST` リクエストの本文は `SAMLResponse` パラメータと `Relaystate` パラメータである必要があります。詳細については、「[IdP が開始した SAML サインインを実装する](cognito-user-pools-SAML-session-initiation.md#cognito-user-pools-SAML-session-initiation-idp-initiation)」を参照してください。

`saml2/idpresponse` エンドポイントは、最大 100,000 文字長の SAML アサーションを受け入れることができます。

## POST `/saml2/idpresponse`
<a name="saml2-idpresponse-endpoint-post"></a>

IdP が開始したサインインで `/saml2/idpresponse` エンドポイントを使用するには、ユーザーのセッションに関する情報をユーザープールに提供するパラメータを含む POST リクエストを生成します。
+ サインインするアプリケーションクライアント。
+ 終了する対象のコールバック URL。
+ ユーザーのアクセストークンでリクエストする OAuth 2.0 スコープ。
+ サインインリクエストを開始した IdP。

### IdP が開始したリクエスト本文のパラメータ
<a name="saml2-idpresponse-endpoint-post-request"></a>

*SAMLResponse*  
ユーザープール内の有効なアプリケーションクライアントと IdP 設定に関連付けられた IdP からの Base64 でエンコードされた SAML アサーション。

*RelayState　*  
`RelayState` パラメータには、`oauth2/authorize` エンドポイントに本来であれば渡すリクエストパラメータが含まれます。これらのパラメータの詳細については、「[認可エンドポイント](authorization-endpoint.md)」を参照してください。    
*response\_type*  
OAuth 2.0 付与タイプ。  
*client\_id*  
アプリクライアント ID。  
*redirect\_uri*  
Amazon Cognito がユーザーを認証した後、認証サーバーによってブラウザがリダイレクトされる URL です。  
*identity\_provider*  
ユーザーをリダイレクトする ID プロバイダーの名前。  
*idp\_identifier*  
ユーザーをリダイレクトする ID プロバイダーの識別子。  
*scope*  
ユーザーが認可サーバーにリクエストする OAuth 2.0 スコープ。

### 肯定応答を含むリクエストの例
<a name="saml2-idpresponse-endpoint-post-example"></a>

**例 - POST リクエスト**  
次のリクエストは、アプリケーションクライアント `1example23456789` の IdP `MySAMLIdP` からのユーザーに対する認可コードの付与に対するものです。ユーザーは、認可コードを使用して `https://www.example.com` にリダイレクトします。認証コードは、OAuth 2.0 スコープ `openid`、`email`、`phone` を持つアクセストークンなどのトークンと交換できます。

```
POST /saml2/idpresponse HTTP/1.1
User-Agent: {{USER_AGENT}}
Accept: */*
Host: {{example.auth.us-east-1.amazoncognito.com}}
Content-Type: application/x-www-form-urlencoded

SAMLResponse={{[Base64-encoded SAML assertion]}}&RelayState=identity_provider%3D{{MySAMLIdP}}%26client_id%3D{{1example23456789}}%26redirect_uri%3D{{https%3A%2F%2Fwww.example.com}}%26response_type%3D{{code}}%26scope%3D{{email%2Bopenid%2Bphone}}
```

**例 – 応答**  
前のリクエストに対するレスポンス？の例を次に示します。

```
HTTP/1.1 302 Found
Date: Wed, 06 Dec 2023 00:15:29 GMT
Content-Length: 0
x-amz-cognito-request-id: 8aba6eb5-fb54-4bc6-9368-c3878434f0fb
Location: {{https://www.example.com}}?code={{[Authorization code]}}
```