REST服务的OAuth身份验证与移动应用程序通信

时间:2014-07-14 11:29:33

标签: python security rest oauth oauth-2.0

我正在python中编写一个REST服务,并且所有的框架都像烧瓶,烧瓶等等,我想知道如何保护这项服务。基本上它提供了来自数据库的关于用户,他们的朋友,一些事件的信息(我们只是说它是一个社交网络),并且所有这些信息都是在Android或iOS的移动设备一侧处理的(将来我们也会支持浏览器。)

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

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

有人可以为我阐明这个话题,如果我正朝着正确的方向前进的话。谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

对于资源所有者密码凭据流,这一点尤其重要,因为应用程序应该高度信任,因为他们可以访问用户的用户名和密码。

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

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