最少使用的API的基本Flask身份验证

时间:2014-06-11 20:06:29

标签: python security authentication encryption flask

我在Flask中内置了一个API,我的API使用者列表非常小,由我控制,我肯定永远不会增长。消费应用程序都是平等可信的,并且彼此信任。我只想要一种基本而快速的方法来为发送给每个人的数据提供身份验证和加密。我已经在Flask中阅读了很多关于在用户级别上执行操作的较重身份验证/加密方案,但我真的需要一些非常简单的方法来为我的预先批准的列表提供相同的访问权限。思考/想法/建议?

我应该提到我在安全领域缺乏经验,这是我第一个处理它的API。

1 个答案:

答案 0 :(得分:1)

身份验证和授权 - 委托给Web服务器

为了简化您的应用,您可以将此任务解释为Web服务器。

对我来说,nginx似乎是不错的选择,但apache或其他任何一个也应该很好。

我确信nginx对资源的需求会低得惊人。

加密 - https是你想要的吗?

我不太确定,你的意思是加密。但是如果你想确定传输的数据不会被嗅探网络的人公开使用,那么https就足够了。

再次,将此任务委派给Web服务器。

结论

两者都应由网络服务器管理,而不是应用程序。它将使您的应用程序保持简单,同时将授权和加密卸载到更高效的工作组件。

典型的组合可能是:

  • 使用基本身份验证
  • 使用https保护应用程序(这使基本身份验证安全)

替代方案:应用程序前面的代理

API Axle之类的解决方案,可以在您的烧瓶应用程序前运行并负责授权。然后,您的烧瓶应用程序将只获得那些已获得授权的请求。