Beispiel #1
0
def confirm_user(username, con_code):

    if not username:
        raise ValidationError("error.confirm_user.invalid_username")
    if not con_code:
        raise ValidationError("error.confirm_user.invalid_confirmation_code")

    # here I am using warrant library because I found it easier than boto3
    cognito = Cognito(cognito_userpool_id, cognito_app_client_id)
    try:
        cognito.confirm_sign_up(confirmation_code=con_code, username=username)
    except Exception as e:
        raise ValidationError("error.confirm_user.failed")
Beispiel #2
0
def confirm_signup(username):
    if request.method == 'POST':
        code = request.form['confirm_code']
        u = Cognito(USER_POOL_ID, CLIENT_ID, REGION, username=username,
                    access_key='dummy_not_used', secret_key='dummy_not_used')
        try:
            u.confirm_sign_up(code, username=username)
        except ClientError as e:
            flash(e.response.get('Error').get('Message'))
            return redirect(url_for('confirm_signup', username=username))
        return redirect(url_for('login', username=username))

    return render_template('confirm_signup.html')
Beispiel #3
0
    def post(self):
        """Confirm user registration"""
        json_data = request.get_json(force=True)

        email = json_data['email']
        code = json_data['code']

        try:
            u = Cognito(cognitoUserPoolId, cognitoUserPoolClientId, awsRegion)
            u.confirm_sign_up(code, username=email)

            return ReturnDocument(email, "success").asdict()
        except ClientError as err:
            return ReturnDocument(err.__str__(), "error").asdict()
Beispiel #4
0
def verification():
    if 'username' in session:
        username = session['username']
        if request.method == 'POST':
            cognito = Cognito(user_pool_id=cognito_userpool_id,
                              client_id=cognito_app_client_id,
                              username=username)
            try:
                cognito.confirm_sign_up(
                    confirmation_code=request.form['vcode'])
                return redirect(url_for('welcome'))
            except Exception as e:
                print(e)
                error = 'Unable to verify, please try again'
                return render_template('signup.html', error=error)

        return render_template("verification.html")
    else:
        return redirect(url_for('login'))
Beispiel #5
0
def confirm_sign_up():
    data = request.get_json()
    email = data.get("username", None)
    password = data.get("password", None)
    code = data.get("code", None)

    if email is None or password is None or code is None:
        return "Must specify username, password, and confirmation code", 422

    u = Cognito(userPoolId,
                clientId,
                user_pool_region=region,
                access_key=access_key,
                secret_key=secret_key)
    try:
        u.confirm_sign_up(code, username=email)
    except Exception:
        return jsonify({"error": "invalid code"}), 401
    return login_email(email, password)
Beispiel #6
0
 def verifyUser(self, username, verificationNumber):
     u = Cognito(self.USER_POOL_ID, self.CLIENT_ID)
     u.confirm_sign_up(verificationNumber, username=username)
     return u
Beispiel #7
0
def confirm_sign_up(username, verification_code):
    u = Cognito(pool_id, app_client_id)
    u.confirm_sign_up(verification_code, username=username)
Beispiel #8
0
#!/usr/bin/env python3
import boto3

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')
client = boto3.client('cognito-idp')

print('Activating user {}'.format(props['USERNAME']))
cognito.confirm_sign_up(props['VERIFICATION_CODE'], username=props['USERNAME'])

Printer.success()