def user_authentication(cls): # get auth header auth = request.headers.get('Authorization', None) prefix = "B2SHARE" token = None # strip prefix if auth and auth[0:len(prefix)] == prefix: token = auth[len(prefix)+1:] # load user that matches token user = User.find_user(token=token) # return token, user tuple return (token, user)
def user_login(methods=["POST", "OPTIONS"]): if request.method == "OPTIONS": return jsonify({}), 200 try: jdata = json.loads(request.data) user = User.find_user(email=jdata['email'], password=jdata['password']) if user == None: return Helper.abort(401, "Unauthorized", base="Invalid credentials") # return user.to_json(), 200 resp = Response(user.to_json()) resp.code = 200 resp.headers['X-Token'] = "B2SHARE " + user.get_token() return resp except KeyError: return Helper.abort(400, "Bad Request", base="Invalid credentials")