Ejemplo n.º 1
0
 def handle_field_error(e):
     if hasattr(e, 'description'):
         description = e.description
     else:
         description = ""
     return JSONResponse(status_code=400,
                         description=description,
                         error='Bad request')
Ejemplo n.º 2
0
def reset_password():
    token = request.json['token']
    email = decode_token(token, current_app.config['SECRET_KEY'],
                         current_app.config['AUTH_RESET_TOKEN_EXPIRATION'])
    user = User.from_email(email)
    user.change_password(request.json['password'])
    return JSONResponse(status_code=200,
                        description='Password was changed',
                        data={'token': make_jwt(user)})
Ejemplo n.º 3
0
def send_confirm():
    user = User.from_email(request.json['email'])
    if user is not None:
        # send email
        token = generate_token(
            (user.email, user.custom_data['email_verification_token']),
            current_app.config['SECRET_KEY'])
        # Send Email #
        link = 'http://www.croplands.org/account/confirm?t=' + token
        send_confirmation_email(link, user.email)
    return JSONResponse(status_code=200, description='Confirmation email sent')
Ejemplo n.º 4
0
def register():
    data = request.json
    # create user with the data,
    # all stormpath exceptions will be caught and passed on in standardized format
    user = User.create(**data)

    # if requires confirmation
    if current_app.config['AUTH_REQUIRE_CONFIRMATION']:
        token = generate_token(
            (user.email, user.custom_data['email_verification_token']),
            current_app.config['SECRET_KEY'])
        # Send Email #
        link = 'https://croplands.org/app/a/confirm?t=' + token
        send_confirmation_email(link, user.email)
        return JSONResponse(status_code=201, description='User created')

    # else just return token
    response_data = {'token': make_jwt(user)}
    return JSONResponse(status_code=201,
                        description='User created',
                        data=response_data)
Ejemplo n.º 5
0
 def bad_request(error):
     return JSONResponse(status_code=error.code,
                         error='Bad Request',
                         description=error.description)
Ejemplo n.º 6
0
 def invalid_location_handler(e):
     return JSONResponse(**e.__dict__)
Ejemplo n.º 7
0
 def unauthorized_handler(e):
     return JSONResponse(status_code=401,
                         error='Unauthorized',
                         description=e.description)
Ejemplo n.º 8
0
 def signature_expired(e):
     print e.__dict__
     return JSONResponse(status_code=400,
                         error='Bad Signature',
                         description='Your token is not valid.')
Ejemplo n.º 9
0
 def signature_expired(e):
     return JSONResponse(status_code=401, description='Token is expired.')
Ejemplo n.º 10
0
 def rate_limit_handler(e):
     return JSONResponse(status_code=429,
                         error='Exceeded Rate Limit',
                         description='Slow Down! ' + str(e.description))
Ejemplo n.º 11
0
 def handle_user_error(e):
     return JSONResponse(**e.__dict__)
Ejemplo n.º 12
0
def login():
    user = User.from_login(request.json['email'], request.json['password'])
    return JSONResponse(status_code=200,
                        description='User logged in',
                        data={'token': make_jwt(user)})
Ejemplo n.º 13
0
def confirm():
    token = request.json['token']
    email, token = decode_token(token, current_app.config['SECRET_KEY'])
    user = User.from_email(email)
    user.verify(token)
    return JSONResponse(status_code=200, description='Email confirmed')