2
  • 我正在开发一个Python使用的项目,Flask其端点为
@app.route(/transaction)
def get(request):
  ...

@app.route(/transaction)
def post(request):
  ...
  • 另外,我希望 REST 端点在方法执行之前经过身份验证
  • 我对此进行了很多搜索,发现我可能需要摘要身份验证(直到现在我还不确定)

问题

  • 如何使用 python 和烧瓶实现这样的安全模式?我可以看到并从中学习的任何可用示例?
  • 我不想以明文形式传递密码并且使用令牌是一个更好的主意,那么考虑 HTTP 摘要式身份验证是一个正确的选择吗?
  • 你们还有什么想推荐的吗?

我希望我的服务器是无状态的,并且不在服务器端存储任何会话

4

1 回答 1

0

查看https://flask-restless.readthedocs.org/en/latest/

为了安全存在扩展:http://pythonhosted.org/Flask-Login/http://pythonhosted.org/Flask-Principal/

无状态服务不存储会话数据,这意味着您必须为每个请求发送凭据。

  1. 您可以只使用普通的登录名和密码,也可以为此使用哈希函数。
  2. 您可以在用户端存储密钥并生成/加密您的纯数据作为登录名、密码、另一个请求数据。这可以保护您免受其他请求的影响,但不能保护您免受某些请求的影响,但您也可以添加时间戳之类的内容并拒绝任何旧请求或添加唯一的请求 ID 并拒绝某些请求。
  3. 您可以使用更有效的方法,例如 https。

有状态服务还可以获得普通的登录名和密码进行身份验证,并生成授权令牌,随每个请求一起发送。

于 2013-04-05T10:33:17.893 回答