在没有用户身份验证的情况下保护 Flask API

Securing Flask API with out user authentication

我想知道是否可以在不使用基本身份验证等登录凭据的情况下保护烧瓶 api。我只想与我的客户分享密钥和秘密。

您可以轻松地为您的应用编写静态的(当然是每个用户)API-key。通常这是通过在 HTTP headers 中添加 pre-shared 秘密来完成的。或者作为 URI 参数。我更喜欢 HTTP。 Github 中至少有一个库可用:https://github.com/ericsopa/flask-api-key。而且 api-key 身份验证很容易自己实现。

为了更好的安全性,您可以使用令牌身份验证。在https://realpython.com/token-based-authentication-with-flask/

中有解释

记住。始终使用 HTTPS 而不是 HTTP!

在谈论 API 时,我们中的许多人都会想到 REST。在谈论 REST 和身份验证时,最好记住 REST 是无状态的。因此,在每个请求中都会进行身份验证(例如发送令牌或 API 密钥或凭据)。经过身份验证的用户没有 session。当然,除了 REST 之外,还有许多其他 API。