示例#1
0
    def post(self):
        """Allows a user to enter a code provided when they reset their password to update their password."""
        json_data = request.get_json(force=True)
        print(f"Reset pwd code: {json_data}")
        email = json_data['email']
        code = json_data['code']
        password = json_data['password']
        try:
            u = Cognito(cognitoUserPoolId, cognitoUserPoolClientId, awsRegion, username=email)
            u.confirm_forgot_password(code, password=password)

            return ReturnDocument(email, "success").asdict()
        except ClientError as err:
            return ReturnDocument(err.__str__(), "error").asdict()
示例#2
0
def confirm_forgot_password(username, confirmation_code, new_password):

    if not username:
        raise ValidationError("error.confirm_forgot_password.invalid_user")
    if not confirmation_code:
        raise ValidationError(
            "error.confirm_forgot_password.invalid_confirmation_code")
    if not new_password:
        raise ValidationError(
            "error.confirm_forgot_password.invalid_new_password")

    user_cognito = Cognito(cognito_userpool_id,
                           cognito_app_client_id,
                           username=username)

    try:
        user_cognito.confirm_forgot_password(confirmation_code, new_password)
    except Exception as e:
        if "Password does not conform to policy" in str(e):
            raise ValidationError(
                "error.confirm_forgot_password.invalid_new_password")
        else:
            raise ValidationError("error.confirm_forgot_password.failed")
#!/usr/bin/env python3
from common.config import config
from common.colourprint import Printer
from warrant import Cognito

props = config()

cognito = Cognito(props['USER_POOL_ID'], props['CLIENT_ID'], user_pool_region='eu-west-1', username=props['USERNAME'])

print('Resetting password for {}'.format(props['USERNAME']))
cognito.confirm_forgot_password(
    confirmation_code=props['VERIFICATION_CODE'],
    password=props['PASSWORD']
)

Printer.success()