SAML 사용자 풀 SP에서 시작한 로그인 흐름 - Amazon Cognito

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

SAML 사용자 풀 SP에서 시작한 로그인 흐름

다음 프로세스는 사용자가 SAML 공급자를 통해 사용자 풀에 로그인하는 방법을 보여줍니다.


                    Amazon Cognito SP에서 시작한 SAML 로그인의 인증 흐름도
  1. 사용자는 로그인 페이지에 이메일 주소를 입력합니다. 사용자가 IdP로 리디렉션되는지 확인하려면 맞춤형 앱에서 이메일 주소를 수집하거나 웹 보기에서 호스팅된 UI를 호출하면 됩니다. 이메일 주소 목록을 IdPs 표시하거나 이메일 주소를 입력하라는 메시지만 표시하도록 호스팅된 UI를 구성할 수 있습니다.

  2. 앱은 사용자 풀 리디렉션 엔드포인트를 호출하고 앱에 해당하는 클라이언트 ID와 사용자에 해당하는 IdP ID를 사용하여 세션을 요청합니다.

  3. Amazon Cognito는 요소에 SAML 요청 (선택적으로 서명됨) 을 통해 사용자를 IdP로 리디렉션합니다. AuthnRequest

  4. IdP는 대화식으로 또는 브라우저 쿠키의 기억된 세션을 사용하여 사용자를 인증합니다.

  5. IdP는 선택적으로 암호화된 SAML 어설션을 POST 페이로드에 포함하는 사용자 풀 SAML 응답 엔드포인트로 사용자를 리디렉션합니다.

    참고

    Amazon Cognito는 5분 내에 응답을 받지 못한 세션을 취소하고 사용자를 호스팅된 UI로 리디렉션합니다. 사용자가 이러한 결과를 경험하면 오류 메시지를 받게 됩니다. Something went wrong

  6. Amazon Cognito는 SAML 어설션을 확인하고 응답의 클레임으로부터 사용자 속성을 매핑한 후 사용자 풀에서 사용자 프로필을 내부적으로 생성하거나 업데이트합니다. 일반적으로 사용자 풀은 사용자의 브라우저 세션에 인증 코드를 반환합니다.

  7. 사용자가 앱에 인증 코드를 제시하면 앱은 코드를 JSON 웹 토큰 (JWT) 으로 교환합니다.

  8. 앱은 사용자의 ID 토큰을 인증으로 받아 처리하고, 액세스 토큰으로 리소스에 승인된 요청을 생성하고, 새로 고침 토큰을 저장합니다.

사용자가 인증을 받고 권한 부여 코드를 받으면 사용자 풀은 ID, 액세스 및 새로 고침 토큰을 반환합니다. ID 토큰은 OIDC 기반 ID 관리를 위한 인증 개체입니다. 액세스 토큰은 OAuth 2.0 범위의 권한 부여 객체입니다. 새로 고침 토큰은 사용자의 현재 토큰이 만료되었을 때 새 ID 및 액세스 토큰을 생성하는 객체입니다. 사용자 풀 앱 클라이언트에서 사용자 토큰의 기간을 구성할 수 있습니다.

새로 고침 토큰의 기간을 선택할 수도 있습니다. 사용자의 새로 고침 토큰이 만료된 후에는 다시 로그인해야 합니다. SAML IdP를 통해 인증한 경우 사용자의 세션 기간은 IdP와의 세션 만료가 아니라 토큰 만료를 기준으로 설정됩니다. 앱은 각 사용자의 새로고침 토큰을 저장하고 만료되면 세션을 갱신해야 합니다. 호스팅된 UI는 1시간 동안 유효한 브라우저 쿠키에 사용자 세션을 유지합니다.