Amazon Cognito 사용자 풀 API에서 발생한 “Invalid Refresh Token” 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Cognito 사용자 풀 API에서 반환된 “Invalid Refresh Token” 오류를 해결하는 방법에 대한 정보가 필요합니다.

간략한 설명

Amazon Cognito 사용자 풀에서 발급한 새로 고침 토큰은 새 액세스 및 ID 토큰을 검색하는 데 사용됩니다. 새로 고침 토큰을 사용한 새 액세스 및 ID 토큰 요청은 다음과 같은 이유로 “Invalid Refresh Toke” 오류와 함께 실패할 수 있습니다.

  • 새로 고침 토큰을 발급한 것과 다른 앱 클라이언트 ID를 사용하고 있습니다.
  • 기기 추적이 켜져 있고 기기가 ConfirmDevice API로 확인되지 않습니다.
  • 기기 추적이 켜져 있고 AdminInitiateAuth 또는 InitiateAuth API에서 AuthParameters로 기기 키를 전달하지 않습니다.
  • 기기 추적이 켜져 있고 USER_PASSWORD_AUTH 흐름을 사용하여 새로 고침 토큰을 받았습니다.

해결 방법

새로 고침 토큰을 발급한 것과 다른 앱 클라이언트 ID를 사용하고 있습니다.

사용자가 AdminInitiateAuth API, InitiateAuth API 또는 hosted UI를 사용하여 인증하면 앱 클라이언트 ID가 ClientId 파라미터로 사용됩니다. AdminInitiateAuth 또는 InitiateAuth API를 사용하여 토큰을 새로 고치려면 동일한 앱 클라이언트 ID를 사용해야 합니다.

다른 앱 클라이언트 ID를 사용하는 경우, 토큰을 새로 고치는 API가 실패하고 “Invalid Refresh Token” 오류가 발생합니다.

기기 추적이 켜져 있고 기기가 ConfirmDevice API로 확인되지 않았습니다.

사용자 풀에 대해 기기 추적이 켜져 있는 경우 ConfirmDevice API를 호출하여 기기를 확인하고 기기 추적을 시작해야 합니다. 디바이스를 확인하면 새로 고침 토큰을 사용하여 새 액세스 및 ID 토큰을 받을 수 있습니다.

자세한 내용은 Amazon Cognito 사용자 풀에서 기억된 디바이스를 사용하려면 어떻게 해야 합니까? 를 참조하세요.

기기를 확인하지 않고 새 토큰에 대해 AdminInitiateAuth 또는 InitiateAuth API를 호출할 경우, “Invalid Refresh Token” 오류가 발생합니다.

기기 추적이 켜져 있고 AdminInitiateAuth 또는 InitiateAuth API에서 AuthParameters로 기기 키를 전달하지 않습니다.

사용자 풀에 대한 기기 추적을 켜면, 성공적으로 인증된 후 고유한 기기 키가 반환됩니다. 새로 고침 토큰을 사용하여 새 토큰을 가져오려고 할 경우, AdminInitiateAuth 또는 InitiateAuth API에서 AuthParameters로 기기 키를 전달해야 합니다.

**참고:**example_refresh_token, example_secret_hashexample_device_key를 사용자 고유의 값으로 바꾸세요.

{
  "AuthFlow": "REFRESH_TOKEN_AUTH",
  "AuthParameters": {
    "REFRESH_TOKEN": "example_refresh_token",
    "SECRET_HASH": "example_secret_hash",  
    "DEVICE_KEY": "example_device_key"
  }
}

SECRET_HASH는 앱 클라이언트가 클라이언트 시크릿으로 구성될 때 필요한 AuthParameters 중 하나입니다.

기기 키가 AuthParameters 중 하나로 전달되지 않으면 “nvalid Refresh Token” 오류가 발생합니다.

기기 추적이 켜져 있고 USER\ _PASSWORD\ _AUTH 인증 흐름을 사용하여 새로 고침 토큰을 받았습니다.

사용자 풀 기기 추적 기능은 USER_SRP_AUTH 흐름에서만 사용할 수 있습니다. AdminInitiateAuth API, InitiateAuth API 또는 호스팅 UI를 사용한 초기 인증에서는 USER_SRP_AUTH 흐름을 사용해야 합니다.

USER\ _PASSWORD\ _AUTH 인증 흐름을 사용하면 액세스, ID 및 새로 고침 토큰을 받게 됩니다. 하지만 새로 고침 토큰을 사용하여 새 토큰을 가져오려고 하면 “Invalid Refresh Token” 오류가 발생합니다.


AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음