Amazon Cognito 사용자 풀을 사용하는 애플리케이션에 SAML 단일 로그아웃을 구성하고 싶습니다. 애플리케이션은 인증을 위해 SAML ID 제공업체(idP)도 사용합니다.
해결 방법
사전 요구 사항:
SAML IdP에서 SAML 로그아웃 활성화
다음 단계를 완료하십시오.
- Amazon Cognito 콘솔.
- 탐색 창에서 사용자 풀을 선택한 다음, 해당 사용자 풀을 선택합니다.
- 소셜 및 외부 제공자를 선택한 다음, SAML IdP를 선택합니다.
- SAML IdP 구성 설정에서 로그아웃 흐름 추가 및 이 공급자에게 SAML 요청에 서명을 선택합니다. 그런 다음, 구성을 저장합니다.
- 서명 인증서 보기를 선택합니다.
- .crt로 다운로드를 선택합니다.
- 닫기를 선택합니다.
로그아웃을 사용하도록 외부 IdP 구성
Cognito 애플리케이션에서 단일 로그아웃을 구성하려면 IdP 설명서를 참조하여 SAML 애플리케이션에서 단일 로그아웃을 활성화하십시오.
애플리케이션을 구성할 때 다음 단계를 완료하십시오.
- Cognito 사용자 풀에서 .crt 파일을 IdP의 SAML 애플리케이션 구성에 서명 인증서로 업로드합니다.
- IdP 구성에서 단일 로그아웃을 활성화합니다.
참고: IdP는 단일 로그아웃을 싱글 로그아웃(SLO)이라고 할 수 있습니다.
- IdP 구성에 다음 값을 사용합니다.
단일 로그아웃 URL에 https://YourDomain.auth.Region.amazoncognito.com/saml2/logout을 입력합니다.
서비스 제공업체(SP) 발급자에 urn:amazon:cognito:sp:YourUserPoolID를 입력합니다.
참고: YourDomain, Region 및 YourUserPoolID를 해당 값으로 바꾸십시오. IdP는 SAML LogoutResponse를 HTTP POST 요청으로 전송해야 합니다. 그러면 Cognito는 사용자를 초기 요청의 로그아웃 URL로 리디렉션합니다.
단일 로그아웃 테스트
Cognito /logout 엔드포인트에 GET 요청을 보냅니다. 요청에 client_id 및 logout_uri 파라미터를 포함해야 합니다.
로그아웃 URL 예시:
https://YourDomain.auth.Region.amazoncognito.com/logout?client_id=YourAppClientID&logout_uri=YourAllowedSignOutURL
참고: 사용자 지정 애플리케이션의 경우 로컬에 저장된 토큰이나 세션 정보(예: localStorage 및 sessionStorage)를 사용자 브라우저에서 제거해야 합니다. Cognito 로그아웃 URL은 관리형 UI를 사용하는 애플리케이션의 Cognito 쿠키만 지웁니다.
관련 정보
단일 로그아웃으로 SAML 사용자 로그아웃