【问题标题】:OAuth authentication for REST service communicating with mobile appREST 服务与移动应用程序通信的 OAuth 身份验证
【发布时间】:2014-09-04 07:27:06
【问题描述】:

我正在用 python 和所有框架(如 flask、flask-restful 等)编写一个 REST 服务,我想知道如何保护这个服务。基本上,它提供了来自数据库的关于用户、他们的朋友、一些事件(假设它是一个社交网络)的信息,所有这些信息都在带有 Android 或 iOS 的移动设备端进行处理(将来我们也将支持浏览器)。

问题是如何认证和授权用户。我正在考虑使用这些会话,但this REST 上的精彩视频说服我不要这样做。因此,过去两天我正在研究 OAuth 2.0 是如何工作的,我发现您可以使用 Resource Owner Password Credentials 方案进行身份验证。还有一个很棒的flask-oauthlib library for Python 可以处理这个问题。

但是混乱来了。如果我是对的,我应该实现两条腿的 OAuth(更不用说 JWT 周围的所有东西,这让我更加困惑)。但我不明白为什么根据this tutorial 有客户端的数据库表(我想我的客户端是移动应用程序)。

有人可以为我解释一下这个话题吗?如果我走对了方向。谢谢。

【问题讨论】:

    标签: python security rest oauth oauth-2.0


    【解决方案1】:

    通常,作为服务提供商,您很可能希望检查您是否知道请求访问用户数据的任何应用程序/客户端。

    因此,客户端通常会在服务提供商处预先注册,并拥有一组用于识别它们的凭据。

    这在资源所有者密码凭证流程的情况下尤为重要,在该流程中,应用程序应该受到高度信任,因为它们可以访问用户的用户名和密码。

    因此需要一个表格供客户端保存这些凭据。

    希望这有助于为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2022-07-31
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多