rest - 如何保护 flask 上的 REST Api

标签 rest api security flask

我需要在我的应用程序上开发一个 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/

相关文章:

rest - 使用 JAX-RS 的 Guice

时间:2019-03-17 标签:c#WebAPIlocalization

javascript - 从浏览器中的安全 token 读取数据

.net - ASP.Net https 与 http

Spring 安全3.2 : Can't logout

amazon-web-services - 有没有办法知道 AWS AppConfig 中更新的配置?

rest - 使用 REST/CLI 将 secret 文件凭据上传到 Jenkins

java - 如何解析带有过滤器的Api

ios - 在文本框中显示 API 数据

python - 如何使用 Django REST Framework 进行身份验证