我需要在我的应用程序上开发一个 Rest API(基于 Flask)
但我真的不知道我应该如何保护它。
目前,我对来自浏览器的用户进行了正常的身份验证。 (使用 session 等)
但是对于 API 用户,我应该在每次 API 请求时询问用户名/密码吗?
真的有保障吗?
我知道很多 Web API 使用 token 进行 API 调用,这是最好的方法吗?
在这种情况下,如何实现呢? (这不是我真正的专业领域..)
非常感谢
最佳答案
您应该使用 token based authentication
保护您的 API
的技术,一旦您的用户登录,这个概念很简单,您的网站应该将其保存在某个地方,然后您将该 token 发回给您的用户。
对于对您的 API 的每次调用,用户应该在每个 API 请求中发送 token ,并且您应该验证编码的 token 并拒绝或发回响应。
看看这里:https://realpython.com/blog/python/token-based-authentication-with-flask/
也检查一下http://flask-jwt-extended.readthedocs.io/en/latest/
为了获得更好的性能,您可以将 session token 存储在 NOSQL
中像 Redis
这样的数据库.
要支持使用社交媒体网站登录,您应该使用 OAuth
它以相同的方式工作,除了它向客户端发送回几个 token 。
关于rest - 如何保护 flask 上的 REST Api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47892413/