use of com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.VerificationHandler in project aws-sdk-android by aws-amplify.
the class CognitoUser method getAttributeVerificationCodeInBackground.
/**
* Requests code to verify a user attribute, in background.
* <p>
* The user attributes that can be verified are those attributes that can be
* used to communicate with the user, e.g. phone_number and email. The
* verification code is sent to the medium that is represented by the
* attribute. Attribute verification is required to enable the attribute to
* be used an attribute as alias for the user. Aliases attributes can be
* used in lieu of the userId to authenticate the user. If an attribute was
* used in the confirm the user after sign-up, then that alias is already
* verified and does not require re-verification.
* </p>
*
* @param clientMetadata A map of custom key-value pairs that is passed to the lambda function for
* lambda functions triggered by forgot password.
* @param attributeName REQUIRED: Name of the attribute that requires
* verification.
* @param callback REQUIRED: callback.
*/
public void getAttributeVerificationCodeInBackground(final Map<String, String> clientMetadata, final String attributeName, final VerificationHandler callback) {
if (callback == null) {
throw new CognitoParameterInvalidException("callback is null");
}
final CognitoUser user = this;
new Thread(new Runnable() {
@Override
public void run() {
final Handler handler = new Handler(context.getMainLooper());
Runnable returnCallback;
try {
final CognitoUserSession session = user.getCachedSession();
final GetUserAttributeVerificationCodeResult getUserAttributeVerificationCodeResult = getAttributeVerificationCodeInternal(clientMetadata, attributeName, session);
returnCallback = new Runnable() {
@Override
public void run() {
callback.onSuccess(new CognitoUserCodeDeliveryDetails(getUserAttributeVerificationCodeResult.getCodeDeliveryDetails()));
}
};
} catch (final Exception e) {
returnCallback = new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
};
}
handler.post(returnCallback);
}
}).start();
}
use of com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.VerificationHandler in project aws-sdk-android by aws-amplify.
the class CognitoUser method resendConfirmationCodeInBackground.
/**
* Request to resend registration confirmation code for a user, in
* background.
*
* @param clientMetadata A map of custom key-value pairs that is passed to the lambda function for
* custom workflow.
* @param callback REQUIRED: {@link VerificationHandler} callback handler.
*/
public void resendConfirmationCodeInBackground(final Map<String, String> clientMetadata, final VerificationHandler callback) {
if (callback == null) {
throw new CognitoParameterInvalidException("callback is null");
}
new Thread(new Runnable() {
@Override
public void run() {
final Handler handler = new Handler(context.getMainLooper());
Runnable returnCallback;
try {
final ResendConfirmationCodeResult resendConfirmationCodeResult = resendConfirmationCodeInternal(clientMetadata);
returnCallback = new Runnable() {
@Override
public void run() {
callback.onSuccess(new CognitoUserCodeDeliveryDetails(resendConfirmationCodeResult.getCodeDeliveryDetails()));
}
};
} catch (final Exception e) {
returnCallback = new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
};
}
handler.post(returnCallback);
}
}).start();
}
use of com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.VerificationHandler in project aws-sdk-android by aws-amplify.
the class CognitoUserPoolsSignInProvider method resendConfirmationCode.
/**
* Resent the confirmation code on MFA.
*/
private void resendConfirmationCode() {
final CognitoUser cognitoUser = cognitoUserPool.getUser(username);
cognitoUser.resendConfirmationCodeInBackground(new VerificationHandler() {
@Override
public void onSuccess(final CognitoUserCodeDeliveryDetails verificationCodeDeliveryMedium) {
startVerificationActivity();
}
@Override
public void onFailure(final Exception exception) {
if (null != resultsHandler) {
ViewHelper.showDialog(activity, activity.getString(R.string.title_activity_sign_in), activity.getString(R.string.login_failed) + "\nUser was not verified and resending confirmation code failed.\n" + getErrorMessageFromException(exception));
resultsHandler.onError(CognitoUserPoolsSignInProvider.this, exception);
}
}
});
}
use of com.amazonaws.mobileconnectors.cognitoidentityprovider.handlers.VerificationHandler in project aws-sdk-android by aws-amplify.
the class CognitoUser method verifyAttributeInBackground.
/**
* Verify an attribute with the verification code, in background.
* <p>
* Call this method to verify an attribute with the "verification code". To
* request for a "verification code" call the method
* {@link CognitoUser#getAttributeVerificationCodeInBackground(String, VerificationHandler)}
* .
* </p>
*
* @param attributeName REQUIRED: The attribute that is being verified.
* @param verificationCode REQUIRED: The code for verification.
* @param callback REQUIRED: Callback
*/
public void verifyAttributeInBackground(final String attributeName, final String verificationCode, final GenericHandler callback) {
if (callback == null) {
throw new CognitoParameterInvalidException("callback is null");
}
final CognitoUser user = this;
new Thread(new Runnable() {
@Override
public void run() {
final Handler handler = new Handler(context.getMainLooper());
Runnable returnCallback;
try {
final CognitoUserSession session = user.getCachedSession();
verifyAttributeInternal(attributeName, verificationCode, session);
returnCallback = new Runnable() {
@Override
public void run() {
callback.onSuccess();
}
};
} catch (final Exception e) {
returnCallback = new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
};
}
handler.post(returnCallback);
}
}).start();
}
Aggregations