

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# IdP SAML 어설션 엔드포인트
<a name="saml2-idpresponse-endpoint"></a>

`/saml2/idpresponse`는 SAML 어설션을 수신합니다. SP 시작(service-provider-initiated) 로그인에서 애플리케이션은 이 엔드포인트와 직접 상호 작용하지 않으며, 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-encoded SAML 어설션입니다.

*RelayState*  
`RelayState` 파라미터에는 `oauth2/authorize` 엔드포인트에 전달할 요청 파라미터가 포함됩니다. 이러한 파라미터에 대한 자세한 내용은 [권한 부여 엔드포인트](authorization-endpoint.md) 섹션을 참조하세요.    
*response\$1type*  
OAuth 2.0 권한 부여 유형입니다.  
*client\$1id*  
앱 클라이언트 ID입니다.  
*redirect\$1uri*  
Amazon Cognito가 사용자에게 권한을 부여한 후 인증 서버에서 브라우저를 리디렉션하는 URL입니다.  
*identity\$1provider*  
사용자를 리디렉션하려는 ID 제공업체의 이름입니다.  
*idp\$1identifier*  
사용자를 리디렉션하려는 ID 제공업체의 식별자입니다.  
*범위*  
사용자가 권한 부여 서버에서 요청할 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%3DMySAMLIdP%26client_id%3D1example23456789%26redirect_uri%3Dhttps%3A%2F%2Fwww.example.com%26response_type%3Dcode%26scope%3Demail%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]
```