コード例 #1
0
def new():
    if request.method == "POST":
        req_data = request.get_json()
        email = req_data['data']['email']
        user = User.get(User.email == email)

        if user:
            password_to_check = req_data['data']['password']
            hashed_password = user.password
            result = check_password_hash(hashed_password, password_to_check)

            if result:
                login_user(user)
                token = str(encode_auth_token(user))
                return jsonify([{
                    'auth_token': token,
                    'message': 'Successfully signed in.',
                    'status': 'success',
                    'user': {
                        'id': user.id,
                        'profile_picture': user.profile_image_url,
                        'username': user.username
                    }
                }])
            else:
                return jsonify([{
                    'status': 'failed',
                    'message': 'Password do not match.'
                }])
    else:
        return jsonify([{
            'message': 'Not correct method.',
            'status': 'failed'
        }])
コード例 #2
0
ファイル: views.py プロジェクト: nyx-ell/journal-backend
def create():
    req_data = request.get_json()
    first_name = req_data['firstName']
    last_name = req_data['lastName']
    email = req_data['email']
    hashed_password = generate_password_hash(req_data['password'])

    user = User(first_name=first_name,
                last_name=last_name,
                email=email,
                password=hashed_password)

    if user.save():
        token = encode_auth_token(user)

        return jsonify({
            'auth_token':
            token,
            'message':
            'Successfully created the account. Please log in.',
            'status':
            'success',
            'user': {
                'id': user.id,
                'first_name': user.first_name,
                'last_name': user.last_name,
                'email': user.email,
            },
            'redirect':
            'https://journal-nyx.herokuapp.com/journals/'
        })
    else:
        errors = user.errors
        return jsonify({'status': 'failed', 'message': errors})
コード例 #3
0
def create():
    req_data = request.get_json()
    email = req_data['email']
    user = User.get(User.email == email)
    
    if user:
        password_to_check = req_data['password']
        hashed_password = user.password
        result = check_password_hash(hashed_password, password_to_check)
        if result:
            token = encode_auth_token(user)
            return jsonify({
                'auth_token': token,
                'message': 'Successfully signed in.',
                'status': 'success',
                'user': {
                    'id': user.id,
                    'first_name': user.first_name,
                    'last_name': user.last_name,
                    'email': user.email
                },
                'redirect':'https://journal-nyx.herokuapp.com/journals/'
            })
        else:
            return jsonify({
                'status': 'failed',
                'message': 'Password does not match.'
            })
コード例 #4
0
ファイル: views.py プロジェクト: Yongggggg/bucketlit-backend
def create():
    req_data = request.get_json()
    first_name = req_data['firstName']
    last_name = req_data['lastName']
    email = req_data['email']
    date_of_birth = req_data['dateOfBirth']

    hashed_password = generate_password_hash(req_data['password'])

    user = User(first_name=first_name,
                last_name=last_name,
                email=email,
                password=hashed_password,
                dob=date_of_birth)

    if user.save():
        token = encode_auth_token(user)
        return jsonify({
            'auth_token': token,
            'message': 'Successfully created the account. Please log in.',
            'status': 'success',
            'user': {
                'id': user.id,
                'first_name': user.first_name,
                'last_name': user.last_name,
                'dob': user.dob,
                'email': user.email,
            }
        })

    elif user.errors:
        errors = user.errors
        return jsonify({'status': 'failed', 'message': errors})
コード例 #5
0
ファイル: app.py プロジェクト: nair-ayush/dataviz-backend
def login():
    if not request.json or 'username' not in request.json.keys(
    ) or 'password' not in request.json.keys():
        return jsonify("Incorrect form submission"), 400
    token = encode_auth_token(request.json["username"])
    return jsonify({
        "username": request.json["username"],
        'token': token.decode('utf-8')
    }), 200
コード例 #6
0
ファイル: views.py プロジェクト: nyx-ell/aunty-backend
def update():
    auth_header = request.headers.get('Authorization')

    if auth_header:
        token = auth_header.split(" ")[1]
    else:
        return jsonify([{
            'status': 'failed',
            'message': 'Not authorization header.'
        }])

    decoded = decode_auth_token(token)
    user = User.get(User.id == decoded)

    req_data = request.get_json()
    first_name = req_data['firstName']
    last_name = req_data['lastName']
    date_of_birth = req_data['dateOfBirth']
    first_language = req_data['firstLanguage']
    second_language = req_data['secondLanguage']
    passport_number = req_data['passportNum']

    user_update = User.update(
        first_name=first_name,
        last_name=last_name,
        dob=date_of_birth,
        language_primary=first_language,
        language_secondary=second_language,
        passport_num=passport_number).where(User.id == user.id)

    if user_update.execute():
        token = encode_auth_token(user)
        return jsonify({
            'auth_token': token,
            'message': 'Successfully update account details.',
            'status': 'success',
            'user': {
                'id': user.id,
                'first_name': user.first_name,
                'last_name': user.last_name,
                'email': user.email,
                'date_of_birth': user.dob,
                'first_language': user.language_primary,
                'second_language': user.language_secondary,
                'passport_num': user.passport_num
            }
        })
    elif user_update.errors:
        errors = user.errors
        return jsonify({'status': 'failed', 'message': errors})
コード例 #7
0
def create():
    post_data = request.get_json()
    username = post_data['username']
    email = post_data['email']
    password_hash = generate_password_hash(post_data['password'])

    user = User(username=username, email=email, password=password_hash)

    if user.save():
        token = encode_auth_token(user)
        user_data = {"id": user.id, "username": user.username, "email": user.email}
        return jsonify(status="success", message=f"Account successfully created for {username}.", auth_token=token.decode(), user=user_data)
    else:
        return jsonify(status="failed", message=user.errors)
コード例 #8
0
ファイル: views.py プロジェクト: shashank80-0/flask-rest-api
def authenticate_user():
    """Authenticates a user by verifying username and password."""
    request_data = request.get_json()
    username = request_data["username"]
    password = request_data["password"]
    user = User.query.filter_by(username=username).first()
    try:
        if user:
            if user.password == password:
                # TODO: Encryption/Decryption of User Credentials
                return helpers.encode_auth_token(username)
            else:
                raise errors.IncorrectPasswordError
        else:
            raise errors.UserNotFoundError
    except errors.UserNotFoundError:
        return format_response("Username not found in database", 403)
    except errors.IncorrectPasswordError:
        return format_response("Incorrect Password", 403)
コード例 #9
0
ファイル: views.py プロジェクト: jadensy/dboard-server
def create():
    post_data = request.get_json()
    email = post_data['email']

    user = User.get(User.email == email)

    if user and check_password_hash(user.password, post_data['password']):
        token = encode_auth_token(user)
        user_data = {
            "id": user.id,
            "username": user.username,
            "email": user.email
        }
        return jsonify(status="success",
                       message=f"Successfully signed in as {user.username}",
                       auth_token=token.decode(),
                       user=user_data)
    else:
        return jsonify(status="failed", message="Passwords do not match.")
コード例 #10
0
ファイル: views.py プロジェクト: doodlesster/aunty-backend
def create():
    req_data = request.get_json()
    first_name = req_data['firstName']
    last_name = req_data['lastName']
    email = req_data['email']
    date_of_birth = req_data['dateOfBirth']
    nationality = req_data['nationality']
    contact_name = req_data['contactName']
    contact_phone_number = req_data['contactPhone']
    hashed_password = generate_password_hash(req_data['password'])

    user = User(first_name=first_name,
                last_name=last_name,
                email=email,
                password=hashed_password,
                dob=date_of_birth,
                nationality=nationality)

    if user.save():
        token = encode_auth_token(user)
        contact = PersonalContact(user=user,
                                  name=contact_name,
                                  phone_number=contact_phone_number)
        if contact.save():
            return jsonify({
                'auth_token': token,
                'message': 'Successfully created the account. Please log in.',
                'status': 'success',
                'user': {
                    'id': user.id,
                    'first_name': user.first_name,
                    'last_name': user.last_name,
                    'email': user.email
                }
            })
        else:
            errors = contact.errors
            return jsonify({'status': 'failed', 'message': errors})
    elif user.errors:
        errors = user.errors
        return jsonify({'status': 'failed', 'message': errors})
コード例 #11
0
def index():
    if request.method == "GET":
        users = User.select()
        return jsonify([{
            'userId': user.id,
            'username': user.username,
            'profileImage': user.profile_image_url
        } for user in users])
    elif request.method == "POST":
        req_data = request.get_json()
        name = req_data['data']['name']
        email = req_data['data']['email']
        username = req_data['data']['username']
        password = req_data['data']['password']
        hashed_password = generate_password_hash(password)

        u = User(name=name,
                 email=email,
                 username=username,
                 password=hashed_password)
        if u.save():
            login_user(u)
            token = encode_auth_token(u)
            return jsonify([{
                'auth_token': token,
                'message': 'Successfully created a user and signed in.',
                'status': 'success',
                'user': {
                    'id': u.id,
                    'profile_picture': u.profile_image_url,
                    'username': u.username
                }
            }])
        else:
            errors = u.errors
            return jsonify([{'status': 'failed', 'message': errors}])
    else:
        return jsonify([{
            'message': 'Not correct method.',
            'status': 'failed'
        }])