Flask帮助方法从标题中查找用户

时间:2017-10-13 10:35:16

标签: flask python-requests

我正在玩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,而不必每次都传递请求对象?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

每个令牌都是针对用户存储的。因此,您可以进行查询以使用户针对给定的令牌。类似的东西:

token = Token.query.get(token='token_value')
return jsonify({'name: User.query.get(id=token.user_id).name})

这也可以在一行中完成,但这完全取决于您的模型和关系。

希望有所帮助。如果我没有正确理解你的问题,请详细说明一下。