在我的API中实现访问令牌架构

时间:2015-05-29 17:36:27

标签: rest oauth oauth-2.0 server

我的应用程序逻辑(Android,iOS和Web)都写在我的服务器上。

由于事情变得复杂,我决定将我的服务器构建为REST Web服务,因此查询它将在标题中包含逻辑。

我的登录流程非常简单,我不知何故试图从Facebook API复制:

  1. 用户登录Facebook。
  2. 用户收到Facebook访问令牌
  3. 使用其他一些标识符
  4. 将访问令牌发送到我的服务器
  5. 服务器向Facebook核实访问令牌对Facebook有效,其他标识符与Facebook上的标识符匹配。
  6. 服务器向用户返回一个访问令牌,他应该在每个查询中使用它,直到它过期。
  7. 问题在于我没有添加任何其他限制,例如端点限制(范围)和类似的东西,因此我的服务器生成的访问令牌允许您访问我的api的每个部分。

    我认为在这里发明轮子是愚蠢的,所以我正在寻找一个框架或通用解决方案,这将允许我以简单的方式为访问令牌添加逻辑。

    我读到了关于OAuth的内容,但我更关心的是用户与其他用户共享,但我只想使用它是登录流和范围保护器。

    OAuth可以吗?是否可以替代OAuth?

1 个答案:

答案 0 :(得分:0)

这可以通过OAuth 2.0实现其中一个目标:您可以发布和使用具有特定“范围”(OAuth 2.0概念)的访问令牌,这些访问令牌可能与客户端拥有的权限相关(例如,读取) / write,API A,API B)。

但您需要从自己的授权服务器发出自己的访问令牌。您可以允许用户使用他们的Facebook帐户登录该授权服务器。