我正在玩Flask。我喜欢它相当薄,适合我的大多数要求。
我想知道您检索当前登录用户的建议方法是什么。我希望每个HTTP请求都在标头中传递/携带令牌,这首先由登录api
检索/user/login (params: username, password)
# returns {success: True, token: "<some-unique-string>"
现在是后续的API我想从传递的令牌中获取用户对象,如此
@app.route("/user/info", methods = ["GET"])
@apify
def user_get_info():
return {"name": current_user().name}
我怎样才能从标题中读取current_user,而不必每次都传递请求对象?
有什么想法吗?
答案 0 :(得分:0)
每个令牌都是针对用户存储的。因此,您可以进行查询以使用户针对给定的令牌。类似的东西:
token = Token.query.get(token='token_value')
return jsonify({'name: User.query.get(id=token.user_id).name})
这也可以在一行中完成,但这完全取决于您的模型和关系。
希望有所帮助。如果我没有正确理解你的问题,请详细说明一下。