gpt4 book ai didi

python - 寻找建议以保护用 python-flask 编写的私有(private) REST API

转载 作者:太空狗 更新时间:2023-10-29 17:07:21 27 4
gpt4 key购买 nike

我目前正在使用 microframework Flask 在 python 中编写一个 rest API。 这是一个私有(private) API,用于处理用户数据。我计划使用此 API 构建 Web 和 Android 应用。

目前我使用摘要身份验证来保护私有(private)用户数据。例如,如果您想通过用户 bob 在我的服务上发布数据,您可以在 myapi/story/create 发出发布请求,并为 bob 提供摘要模式的凭据。

我知道这不是一个好的解决方案,因为:
-摘要认证不安全
-客户端未通过身份验证(如何保护与当前用户无关的请求,例如创建新用户?)

我阅读了很多关于 oAuth 的资料,但三足式身份验证似乎有些过分,因为我不打算向第三方开放我的 API。
两条腿的 oAuth 不适合,因为它只为客户端提供身份验证,而不是为用户提供身份验证。
oAuth 的另一个问题是我还没有找到在 Python 中实现它的综合指南。我找到了 python-oauth2库,但我不了解服务器示例,也找不到其他文档。此外,此示例似乎没有涵盖 oAuth 的许多方面。

所以我的问题是:

  1. 是否有替代方案(不是 oAuth)以合理的安全级别对客户端和用户进行身份验证?
  2. 如果 oAuth 是最佳解决方案:
    • 如何跳过授权过程(因为用户不必授权第三方客户端)?
    • 是否有关于 python-oauth2 或任何其他 Python 库的详细文档?

如有任何帮助或建议,我们将不胜感激。

最佳答案

简单的答案是仅通过 HTTPS 公开您的 API,然后使用 HTTP 基本身份验证。我不认为真的有任何理由去打扰 Digest。基本身份验证是不安全的,但会随每个请求一起提交,因此您永远不必担心您的身份验证会过时或发生其他情况。通过 HTTPS 隧道传输,您可以建立安全连接。

如果要对客户端进行身份验证,可以使用 SSL 客户端证书。也就是说,通常很难真正锁定客户端以防恶意用户,因此我会考虑让注册功能可公开访问并通过带外帐户验证保护您自己免受 DOS 等攻击。

关于python - 寻找建议以保护用 python-flask 编写的私有(private) REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7224615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com