Amazon Cognito에서 사용자 암호를 복구하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Cognito에서 사용자 암호를 복구하려고 합니다.

해결 방법

Amazon Cognito에서 사용자 암호를 복구하는 방법은 두 가지입니다.

  • 인증된 이메일 또는 전화번호를 사용합니다.
  • 관리자를 통한 사용자 비밀번호를 사용합니다.

이메일 또는 전화번호 인증

ForgotPassword API 명령을 사용하여 사용자 암호를 복구할 수 있습니다. ForgotPassword API 명령은 인증된 이메일 또는 인증된 전화번호로 복구 코드를 전송합니다. 복구 코드는 1시간 동안 유효합니다. 그런 다음, ConfirmForgotPassword API 명령을 사용하여 비밀번호를 재설정하는 확인 코드를 입력합니다.

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

AWS CLI 명령:

ForgotPassword

aws cognito-idp forgot-password --client-id 38fjsnc484p94kpqsnet7mpld0 --username jane@example.com

출력:

{
  "CodeDeliveryDetails": {
    "Destination": "j***@e***.com",
    "DeliveryMedium": "EMAIL",
    "AttributeName": "email"
  }
}

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username=diego@example.com --password PASSWORD --confirmation-code CONF_CODE

참고: 다음 요구 사항을 모두 충족하는 경우 CLI 명령에서 --secret-hash를 전달해야 합니다.

  • AWS CLI 명령에는 파라미터로 --client-id가 있습니다.
  • 앱 클라이언트는 암호로 구성됩니다.

앱 클라이언트의 암호 해시를 계산하려면 [Amazon Cognito 사용자 풀 API에서 'Unable to verify secret hash for client

' 오류를 해결하려면 어떻게 해야 하나요?](https://repost.aws/ko/knowledge-center/cognito-unable-to-verify-secret-hash) 를 참조하십시오.

관리자 재설정

참고: 관리자가 아닌 경우 관리자에게 문의하여 다음 작업을 완료하십시오.

AdminResetUserPassword API 명령을 호출하면 현재 암호가 무효화되므로 이를 변경해야 합니다. API 명령을 호출한 후 사용자가 로그인을 시도하면 앱은 다음을 수행합니다.

  • PasswordResetRequiredException를 다시 받으십시오.
  • 사용자에게 암호 분실 흐름을 통해 암호를 재설정하도록 지시합니다.

또한 다음과 같은 경우 API를 호출하면 비밀번호 변경 코드가 포함된 메시지가 사용자에게 전송됩니다.

  • 사용자 풀에 전화 인증이 설정되어 있고
  • 사용자의 인증된 전화번호 또는 이메일이 있습니다.

AWS CLI 명령:

AdminResetUserPassword

aws cognito-idp admin-reset-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com

ConfirmForgotPassword

aws cognito-idp confirm-forgot-password --client-id 3n4b5urk1ft4fl3mg5e62d9ado --username diego@example.com --password PASSWORD --confirmation-code CONF_CODE

AdminSetUserPassword

관리자는 AdminSetUserPassword API 명령을 사용하여 사용자 풀에서 사용자 암호를 호출할 수도 있습니다. 암호는 임시 또는 영구적일 수 있습니다. 일시적인 경우에는 사용자 상태가 FORCE_CHANGE_PASSWORD 상태로 전환됩니다. 로그인하면 InitiateAuth/AdminInitiateAuth 응답에 the NEW_PASSWORD_REQUIRED 챌린지가 포함됩니다. 만료되기 전에 로그인하지 않으면 로그인할 수 없고 암호를 재설정해야 합니다. 사용자가 새로운 암호를 재설정하거나 암호가 영구적이면 사용자 상태가 CONFIRMED로 설정됩니다.

aws cognito-idp admin-set-user-password --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --password Hello@123 --permanent

AWS 공식
AWS 공식업데이트됨 일 년 전