Java源码示例:com.amazonaws.services.cognitoidp.AWSCognitoIdentityProvider
示例1
/**
* Verify the verification code sent on the user phone.
*
* @param username User for which we are submitting the verification code.
* @param code Verification code delivered to the user.
* @return if the verification is successful.
*/
boolean VerifyAccessCode(String username, String code) {
AnonymousAWSCredentials awsCreds = new AnonymousAWSCredentials();
AWSCognitoIdentityProvider cognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.fromName(REGION))
.build();
ConfirmSignUpRequest confirmSignUpRequest = new ConfirmSignUpRequest();
confirmSignUpRequest.setUsername(username);
confirmSignUpRequest.setConfirmationCode(code);
confirmSignUpRequest.setClientId(CLIENTAPP_ID);
try {
ConfirmSignUpResult confirmSignUpResult = cognitoIdentityProvider.confirmSignUp(confirmSignUpRequest);
} catch (Exception ex) {
System.out.println(ex);
return false;
}
return true;
}
示例2
/**
* Method to orchestrate the SRP Authentication
*
* @param username Username for the SRP request
* @param password Password for the SRP request
* @return the JWT token if the request is successful else null.
*/
String PerformSRPAuthentication(String username, String password) {
String authresult = null;
InitiateAuthRequest initiateAuthRequest = initiateUserSrpAuthRequest(username);
try {
AnonymousAWSCredentials awsCreds = new AnonymousAWSCredentials();
AWSCognitoIdentityProvider cognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.fromName(this.region))
.build();
InitiateAuthResult initiateAuthResult = cognitoIdentityProvider.initiateAuth(initiateAuthRequest);
if (ChallengeNameType.PASSWORD_VERIFIER.toString().equals(initiateAuthResult.getChallengeName())) {
RespondToAuthChallengeRequest challengeRequest = userSrpAuthRequest(initiateAuthResult, password);
RespondToAuthChallengeResult result = cognitoIdentityProvider.respondToAuthChallenge(challengeRequest);
//System.out.println(result);
System.out.println(CognitoJWTParser.getPayload(result.getAuthenticationResult().getIdToken()));
authresult = result.getAuthenticationResult().getIdToken();
}
} catch (final Exception ex) {
System.out.println("Exception" + ex);
}
return authresult;
}
示例3
/**
* Sign up the user to the user pool
*
* @param username User name for the sign up
* @param password Password for the sign up
* @param email email used to sign up
* @param phonenumber phone number to sign up.
* @return whether the call was successful or not.
*/
boolean SignUpUser(String username, String password, String email, String phonenumber) {
AnonymousAWSCredentials awsCreds = new AnonymousAWSCredentials();
AWSCognitoIdentityProvider cognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.fromName(REGION))
.build();
SignUpRequest signUpRequest = new SignUpRequest();
signUpRequest.setClientId(CLIENTAPP_ID);
signUpRequest.setUsername(username);
signUpRequest.setPassword(password);
List<AttributeType> list = new ArrayList<>();
AttributeType attributeType = new AttributeType();
attributeType.setName("phone_number");
attributeType.setValue(phonenumber);
list.add(attributeType);
AttributeType attributeType1 = new AttributeType();
attributeType1.setName("email");
attributeType1.setValue(email);
list.add(attributeType1);
signUpRequest.setUserAttributes(list);
try {
SignUpResult result = cognitoIdentityProvider.signUp(signUpRequest);
} catch (Exception e) {
System.out.println(e);
return false;
}
return true;
}
示例4
/**
* <p>
* Build an AWS cognito identity provider, based on the parameters defined in the CognitoResources interface.
* </p>
*
* @return
*/
protected AWSCognitoIdentityProvider getAmazonCognitoIdentityClient() {
AWSCredentials credentials = getCredentials(cognitoID, cognitoKey);
AWSCredentialsProvider credProvider = new AWSStaticCredentialsProvider( credentials );
AWSCognitoIdentityProvider client = AWSCognitoIdentityProviderClientBuilder.standard()
.withCredentials(credProvider)
.withRegion(region)
.build();
return client;
}
示例5
public static void main(String[] args) {
AWSCognitoIdentityProvider cognitoIdentityProvider = AWSCognitoIdentityProviderClientBuilder.defaultClient();
// Create User in UserPool using AdminCreateUser
// @see <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html">label</a>
cognitoIdentityProvider.adminCreateUser(
new AdminCreateUserRequest()
.withUserPoolId(USERPOOL_ID)
.withUsername(USERNAME)
.withTemporaryPassword(USER_TEMP_PASSWORD)
.withUserAttributes(
new AttributeType()
.withName("phone_number")
.withValue(PHONE_NUMBER),
new AttributeType()
.withName("phone_number_verified")
.withValue("true"),
new AttributeType()
.withName("email")
.withValue(USER_EMAIL)));
SMSMfaSettingsType sMSMfaSettings = new SMSMfaSettingsType().withPreferredMfa(Boolean.TRUE).withEnabled(Boolean.TRUE);
// Set MFA preferred type for the User using AdminSetUserMFAPreference
// @see <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserMFAPreference.html">label</a>
cognitoIdentityProvider.adminSetUserMFAPreference(
new AdminSetUserMFAPreferenceRequest()
.withSMSMfaSettings(sMSMfaSettings)
.withUserPoolId(USERPOOL_ID)
.withUsername(USERNAME));
// Add MFA Options type for the User using AdminSetUserSettings
// @see <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserSettings.html">label</a>
cognitoIdentityProvider.adminSetUserSettings(
new AdminSetUserSettingsRequest()
.withUserPoolId(USERPOOL_ID)
.withUsername(USERNAME)
.withMFAOptions(Arrays.asList(
new MFAOptionType()
.withDeliveryMedium("SMS")
.withAttributeName("phone_number"))));
// Validate the data created/updated in this class.
AdminGetUserResult user = cognitoIdentityProvider.adminGetUser(
new AdminGetUserRequest()
.withUserPoolId(USERPOOL_ID)
.withUsername(USERNAME));
assert (user.getUsername().equals(USERNAME));
assert (!user.getMFAOptions().isEmpty());
assert (user.getMFAOptions().get(0).getDeliveryMedium().equals("SMS"));
assert (user.getPreferredMfaSetting().equals("SMS_MFA"));
assert (user.getEnabled());
}