Exemplo n.º 1
0
def persona_login():
    if not request.json or "assertion" not in request.json:
        return jsonify(success=False)
    receipt = verify_assertion(request.json["assertion"], request.host)
    if not receipt:
        return jsonify(success=False)
    user = User.get_or_create(receipt["email"])
    session["email"] = user.email
    session["role"] = user.role
    return api_session()
Exemplo n.º 2
0
def persona_login():
    if not request.json or 'assertion' not in request.json:
        return jsonify(success=False)
    receipt = verify_assertion(request.json['assertion'], request.host)
    if not receipt:
        return jsonify(success=False)
    user = User.get_or_create(receipt['email'])
    session['email'] = user.email
    session['role'] = user.role
    return api_session()
Exemplo n.º 3
0
def persona_login():
    if not request.json or 'assertion' not in request.json:
        return jsonify(success=False)
    receipt = verify_assertion(request.json['assertion'], request.host)
    if not receipt:
        return jsonify(success=False)
    if request.json.get('invite_id'):
        user = accept_invite(receipt['email'], request.json)
        if not user:
            return jsonify(success=False)
        user = login_or_create_user(user['email'])
    else:
        user = login_or_create_user(receipt['email'])
    if not user:
        return jsonify(success=False)
    elif user.get('status') == "banned":
        return jsonify(success=False, reason="banned")
    session['email'] = user['email']
    session['role'] = user['role']
    return api_session()
def persona_login(request):
    if not request.json or 'assertion' not in request.json:
        return jsonify(success=False)
    receipt = verify_assertion(request.json['assertion'], request.host)
    if not receipt:
        return jsonify(success=False)
    if request.json.get('invite_id'):
        user = accept_invite(receipt['email'], request.json)
        if not user:
            return jsonify(success=False)
        user = login_or_create_user(user['email'])
    else:
        user = login_or_create_user(receipt['email'])
    if not user:
        return jsonify(success=False)
    elif user.get('status') == "banned":
        return jsonify(success=False, reason="banned")
    session['email'] = user['email']
    session['role'] = user['role']
    return api_session()