AWS Cognito - Change User Password Programmatically using Java
To programmatically change a user password in Amazon Cognito using Java, follow these steps:
- Add AWS Java SDK For Amazon Cognito Identity Provider Service dependency to your project.
- Java Sample Code:
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.cognitoidp.AWSCognitoIdentityProvider;
import com.amazonaws.services.cognitoidp.AWSCognitoIdentityProviderClientBuilder;
import com.amazonaws.services.cognitoidp.model.AdminSetUserPasswordRequest;
public class CognitoExample {
public static void main(String args) {
// AWS credentials
String ACCESS_KEY = "AKIASI5XVTY2KVH46OND";
String SECRET_KEY = "+sYwUXMeBUDqI/YvJNfoMAlzYnWQ75qRGw06jTML";
// Cognito credentials
String userPoolId = "us-east-1_c174bztKi";
// Test user data
String email = "testbuddy@example.com";
String newPassword = "Test123$";
// New password is only required if the user status is FORCED_CHANGE_PASSWORD
BasicAWSCredentials awsCreds = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
AWSCognitoIdentityProvider cognitoClient = AWSCognitoIdentityProviderClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withRegion("us-east-1")
.build();
AdminSetUserPasswordRequest adminSetUserPasswordRequest =
new AdminSetUserPasswordRequest().withUsername(email).withUserPoolId(userPoolId)
.withPassword(newPassword).withPermanent(true);
cognitoClient.adminSetUserPassword(adminSetUserPasswordRequest);
}
}