4.2.1 Using user pools with AWS Mobile SDK
Here are the details about registering, confirming, and authenticating users using standard AWS Mobile SDK.
Creating an AWSCognitoIdentityUserPool Object
The following procedure describes how to create an AWSCognitoIdentityUserPool object to interact with.
// Create a user pool with default ClientConfiguration
CognitoUserPool userPool = new CognitoUserPool(context, userPoolId, clientId, clientSecret, cognitoRegion);// Create a user pool with default ClientConfiguration
val userPool = CognitoUserPool(context, userPoolId, clientId, clientSecret, cognitoRegion)OR
// This will also work
ClientConfiguration clientConfiguration = new ClientConfiguration();
AmazonCognitoIdentityProvider cipClient = new AmazonCognitoIdentityProviderClient(new AnonymousAWSCredentials(), clientConfiguration);
cipClient.setRegion(Region.getRegion(cognitoRegion));
CognitoUserPool userPool = new CognitoUserPool(context, userPoolId, clientId, clientSecret, cipClient);// This will also work
val clientConfiguration = ClientConfiguration()
val cipClient: AmazonCognitoIdentityProvider =
AmazonCognitoIdentityProviderClient(AnonymousAWSCredentials(), clientConfiguration)
cipClient.setRegion(Region.getRegion(cognitoRegion))
otval userPool = CognitoUserPool(context, userPoolId, clientId, clientSecret, cipClient)Register a User
Use userPool.signUpInBackground method to sign up a user.
SignUpHandler signupCallback = new SignUpHandler() {
@Override
public void onSuccess(CognitoUser cognitoUser, SignUpResult signUpResult) {
// Sign-up was successful
// Check if this user (cognitoUser) needs to be confirmed
if(!signUpResult.getUserConfirmed()) {
// This user must be confirmed and a confirmation code was sent to the user
// cognitoUserCodeDeliveryDetails will indicate where the confirmation code was sent
// Get the confirmation code from user
}
else {
// The user has already been confirmed
}
}
@Override
public void onFailure(Exception exception) {
// Sign-up failed, check exception for the cause
}
};
// API call
userPool.signUpInBackground(userId, password, userAttributes, null, signupCallback);Confirm Signup
Confirm a user's sign up with the confirmation code using user.confirmSignUp method
Sign in a User
Use cognitoUser.getSessionInBackground method to get a session with the username and password.
Sign out a user
Use cognitoUser.signOut method to log a user out.
Previous4.2 Authenticate Using AWS Cognito Service WrapperNext4.2.2 Using user pools with Bayun AWSS3 wrapper 'SecureAuthentication'
Last updated
Was this helpful?