새로 고침 토큰 사용 - Amazon Cognito

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

새로 고침 토큰 사용

새로 고침 토큰을 사용하여 새 ID와 액세스 토큰을 검색할 수 있습니다. 기본적으로 새로 고침 토큰은 애플리케이션 사용자가 사용자 풀에 로그인하고 30일이 지나면 만료됩니다. 사용자 풀에 대한 애플리케이션을 생성할 경우 애플리케이션의 새로 고침 토큰 만료를 60분에서 10년 사이의 값으로 설정할 수 있습니다.

유효한(만료되지 않은) 새로 고침 토큰이 있는 경우 Mobile SDK for iOS, Mobile SDK for Android, Amplify for iOS, Android 및 Flutter는 ID 및 액세스 토큰을 자동으로 새로 고칩니다. ID 및 액세스 토큰의 최소 잔여 유효 기간은 2분입니다. 새로 고침 토큰의 기간이 만료되면 앱 사용자가 사용자 풀에 다시 로그인하여 재인증을 해야 합니다. 액세스 토큰과 ID 토큰의 최소값을 5분으로 설정하고 SDK를 사용하는 경우 계속해서 새로 고침 토큰을 사용하여 새 액세스 토큰과 ID 토큰이 검색됩니다. 최소값을 5분이 아니라 7분으로 설정하면 예상 동작을 확인할 수 있습니다.

새 계정의 UnusedAccountValidityDays 시간 제한 전에 사용자가 한 번 이상 로그인하는 한, 사용자 계정 자체는 만료되지 않습니다.

새로 고침 토큰으로 새 액세스 및 자격 증명 토큰 받기

API 또는 호스팅 UI를 사용하여 새로 고침 토큰에 대한 인증을 시작합니다.

새로 고침 토큰을 사용하여 사용자 풀 API로 새 ID 및 액세스 토큰을 가져오려면 AdminInitiateAuth또는 InitiateAuthAPI 작업을 사용하십시오. AuthFlow 파라미터에 REFRESH_TOKEN_AUTH를 전달합니다. AuthFlow의 AuthParameters 속성에서 사용자의 새로 고침 토큰을 "REFRESH_TOKEN" 값으로 전달합니다. Amazon Cognito는 API 요청이 모든 챌린지를 전달한 후 새 ID 및 액세스 토큰을 반환합니다.

참고

Amazon Cognito 사용자 풀 API를 사용하여 호스팅 UI 사용자의 토큰을 새로 고치려면 InitiateAuth 요청을 생성합니다.

도메인을 구성한 사용자 풀의 Token 엔드포인트에 새로 고침 토큰을 제출할 수도 있습니다. 요청 본문에 refresh_token의 grant_type 값과 사용자 새로 고침 토큰의 refresh_token 값을 포함합니다.

새로 고침 토큰 철회

사용자에게 속한 새로 고침 토큰을 취소할 수 있습니다. 토큰 취소에 대한 자세한 내용은 토큰 철회 섹션을 참조하세요.

참고

새로 고침 토큰을 취소하면 Amazon Cognito가 해당 토큰을 사용하여 새로 고침 요청에서 발급한 모든 ID 및 액세스 토큰이 취소됩니다.

사용자는 GlobalSignOutAdminUserGlobalSignOut API 작업을 사용하여 사용자의 모든 토큰을 취소할 경우 현재 로그인되어 있는 모든 디바이스에서 로그아웃할 수 있습니다. 사용자가 로그아웃하면 다음과 같은 효과가 발생합니다.

  • 사용자의 새로 고침 토큰을 사용하여 사용자에 대한 새 토큰을 가져올 수 없습니다.

  • 사용자의 액세스 토큰을 사용하여 토큰으로 권한이 부여된 API 요청을 할 수 없습니다.

  • 새 토큰을 가져오려면 사용자가 다시 인증해야 합니다. 호스팅 UI 세션 쿠키는 자동으로 만료되지 않으므로 보안 인증 정보를 입력하라는 추가 메시지 없이 사용자가 세션 쿠키를 사용하여 다시 인증할 수 있습니다. 호스팅 UI 사용자를 로그아웃한 후 Logout 엔드포인트로 리디렉션하면 Amazon Cognito가 세션 쿠키를 지웁니다.

새로 고침 토큰을 사용하면 앱에서 사용자의 세션을 오랫동안 유지할 수 있습니다. 시간이 지남에 따라 사용자는 로그인한 일부 디바이스의 권한 부여를 해제하여 세션을 계속 새로 고칠 수 있습니다. 단일 디바이스에서 사용자를 로그아웃하려면 새로 고침 토큰을 취소합니다. 사용자가 인증된 모든 세션에서 스스로 로그아웃하려는 경우 GlobalSignOutAPI 요청을 생성하세요. 앱에서 사용자에게 모든 디바이스에서 로그아웃과 같은 선택 항목을 제공할 수 있습니다. GlobalSignOut은 변경되지 않고 만료되지 않고 취소되지 않은 사용자의 유효한 액세스 토큰을 허용합니다. 이 API는 토큰으로 권한이 부여되었기 때문에 한 사용자가 이 API를 사용하여 다른 사용자의 로그아웃을 시작할 수 없습니다.

하지만 AWS 자격 증명으로 승인하는 AdminUserGlobalSignOutAPI 요청을 생성하여 모든 디바이스에서 모든 사용자를 로그아웃시킬 수 있습니다. 관리자 애플리케이션은 AWS 개발자 자격 증명으로 이 API 작업을 호출하고 사용자 풀 ID와 사용자 이름을 매개변수로 전달해야 합니다. AdminUserGlobalSignOut API를 사용하면 사용자 풀의 모든 사용자를 로그아웃할 수 있습니다.

AWS 자격 증명 또는 사용자 액세스 토큰으로 승인할 수 있는 요청에 대한 자세한 내용은 을 참조하십시오Amazon Cognito 사용자 풀 인증 및 미인증 API 작업.