将RESTapi固定在烧瓶中

poc*_*chi 8 python rest restful-authentication flask

我正在申请的应用程序使用了很多ajax调用.不幸的是,在研究如何限制对api的访问时,我遇到了麻烦.例如:

  • 我有一个表调用http:// site/api/tasks/bob的ajax调用
    我需要确保只有bob,登录后才能读取该表(否则知道该模式的人可能会请求通过以下方式查看bob的任务只需在浏览器中输入网址即可.
  • 在另一个页面上,同一个表需要能够调用http:// site/api/tasks/all并显示所有用户的任务(只有管理员应该能够这样做)

感谢您抽出宝贵时间阅读本文并回答此问题.

Sea*_*ira 14

您需要通过以下方式对千禧视图进行身份验证:

A)每个请求的HTTP-Auth(基本摘要).

B)服务器端会话.(用户验证并接收会话密钥 - 他们的用户信息存储在服务器的会话后端,附加到该密钥.一旦他们有会话,他们就可以发出请求将会话密钥传回给您(在URL或者一个cookie),他们有权访问的信息将返回给他们.)

Flask有一对有用的扩展,可以处理大部分此类事情 - 查看Flask-LoginFlask-Principal,查看如何将授权添加到Flask应用程序的示例.