Flask HTTP Basicauth - 它是如何工作的?

新手上路,请多包涵

我正在尝试使用 Flask 和 HTTP Basic Auth 创建登录系统。我的问题是,我有责任从数据库提供用户信息,还是 basicauth 为我创建和访问这些数据库?如果没有,我可以用什么来做到这一点?

原文由 kttr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 812
2 个回答

Werkzeug 可以为您将基本授权标头解码为用户名和密码。剩下的就看你想用这些信息做什么了。

request.authorization 属性 返回一个 Authorization 对象。对于基本身份验证标头,仅设置 usernamepassword

Flask-Login 这样的项目可以帮助您使用基本授权管理更复杂的登录,并将其与您提供的用户模型联系起来。该模型可以存储在数据库或您想要的任何其他内容中。

您可以查看 Flask-Security 以获得更完整的集成安全包,它使用 Flask-Login 和其他包来提供基本身份验证和基于会话的登录。

原文由 Martijn Pieters 发布,翻译遵循 CC BY-SA 4.0 许可协议

Flask-HTTPAuth 扩展(不要脸的插件,我是作者)简化了 HTTP Basic Auth 的实现。您无需直接使用 request.authorization 数据,而是在插入身份验证逻辑的位置设置回调函数。

关于您的数据库问题,Flask-HTTPAuth 不假设您的用户是如何存储的。您必须提供检索用户和验证密码的逻辑。

原文由 Miguel Grinberg 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏