Dhanushka Dolapihilla
Dhanushka Dolapihilla

Reputation: 1145

Resending phone_number attribute verification code in AWS Cognito

Is there a way in AWS SDK CognitoIdentityServiceProvider to resend a phone_number attribute change verification code for a CONFIRMED user?

I have set phone_number attribute to be verified in Cognito. adminUpdateUserAttributes() sends the verification code. But I have failed to find a way of resending the verification code. This is a necessity in the use case i am working on.

So far I have tried doing a adminUpdateUserAttributes() with the same phone number. It doesn't seem like it resend the verification code. With a new number, it does.

I cant do a deleteUserAttributes() and an update again, as the pool configuration sets the phone number as required.

Not sure if its relevant; but note that I have to pretty much use the CognitoIdentityServiceProvider admin APIs as Sign UP is also disabled in the User pool.

To sum it up, I am looking for a solution where I can resend the verification code for phone_number attribute in a confirmed user in Cognito User Pool.

Upvotes: 3

Views: 1074

Answers (1)

YanetP1988
YanetP1988

Reputation: 1356

This is the method in AWS Api reference that resends OTP code for this flow: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserAttributeVerificationCode.html

Then in my service, using AWS Java SDK, I call it:

    public void resendCodeAttributeVerification(String accessToken) {
    cognitoClient.getUserAttributeVerificationCode(new GetUserAttributeVerificationCodeRequest()
            .withAttributeName(PHONE_NUMBER)
            .withAccessToken(accessToken));
     }

Upvotes: 1

Related Questions