Пример #1
0
def facebook_logged_in(blueprint, token):
    if not token:
        flash("Failed to log in.", category="error")
        return False

    resp = blueprint.session.get("/me")
    if not resp.ok:
        msg = "Failed to fetch user info."
        flash(msg, category="error")
        return False

    info = resp.json()
    user_id = info["id"]
    print('info', info)

    # Find this OAuth token in the database, or create it
    query = OAuth.query.filter_by(provider=blueprint.name,
                                  provider_user_id=user_id)
    try:
        oauth = query.one()
    except NoResultFound:
        oauth = OAuth(provider=blueprint.name,
                      provider_user_id=user_id,
                      token=token)

    if oauth.user:
        login_user(oauth.user)
        flash("Successfully signed in.")

    else:
        # Create a new local user account for this user
        user = Member(name=info["name"])
        # Associate the new local user account with the OAuth token
        oauth.user = user
        # Save and commit our database models
        db.session.add_all([user, oauth])
        db.session.commit()
        # Log in the new local user account
        login_user(user)
        flash("Successfully signed in.")

    # Disable Flask-Dance's default behavior for saving the OAuth token
    token_query = Token.query.filter_by(user_id=current_user.id)
    try:
        token = token_query.one()
    except NoResultFound:
        token = Token(user_id=current_user.id, uuid=str(uuid.uuid4().hex))
        db.session.add(token)
        db.session.commit()
    return redirect("http://localhost:3000/?api_key={}".format(token.uuid))
Пример #2
0
def register_user():
    if request.method == 'POST':

        data = request.get_json()
        print(data, "GHUJKL:HGJHKJ")
        userEmail = data['email']
        userPassword = data['password']
        userName = data['name']
        user = Member.query.filter_by(email=userEmail).first()
        if user:
            return jsonify({'message': 'Email already exist!'})
        else:
            new_user = Member(email=userEmail, name=userName)
            new_user.generate_password(userPassword)
            db.session.add(new_user)
            db.session.commit()
            return jsonify({'message': 'You has sign up, please login!'})