将oAuth与Reso urce Owners Password s Credentials Grant一​​起使用时的正确流程是什么

时间:2013-04-04 09:03:28

标签: api rest authentication oauth-2.0 restful-authentication

我希望为我的基于RESTful超媒体的API构建一个客户端,并且在审查了许多选项后,我们正在学习oAuth *成为授权访问API的事实上的方法。

我认为我理解整体oauth概念,即依赖于客户端(可信赖或不信任),规范提供了几个流程,以便从资源所有者(用户)授予的角度“信任”客户端(应用程序)访问客户端。

因为我正在构建的应用程序直接属于服务生态系统的一部分,它将属于可信客户端部分的保护伞所以我决定实施资源所有者密码的凭据授权,但这里是我的知识获取的地方oAuth提供的条款和确切的角色混淆了我的大脑关闭:)

我认为这是流程(有一些更多的技术想法):

  1. 通过登录表单,资源所有者提供其凭据
  2. 详细信息提交给服务器(在本例中为express.js应用程序)
  3. 应用程序通过一些本地机制验证商店的用户凭据
  4. 如果用户不存在或验证失败,则返回登录
  5. 如果用户确实存在并且确实通过了验证,则启动交换其令牌凭据的机制(联系oAuth服务器并交换详细信息),这些机制将加密/哈希值存储在某处(redis可能?)
  6. 一旦令牌被返回,它就会被存储在一个会话中以便持久存在于客户端(我认为trello.com会做类似的事情,因为他们有一个令牌cookie,但我可能在这里非常错误)
  7. 这是否可以接受?我似乎无法找到任何可用的示例,作为唯一的开发人员,目前可以获得一些反馈。

1 个答案:

答案 0 :(得分:0)

最后不需要定义我自己的流程,这只是资源所有者密码授权,我们将用户的凭据交换为可信客户端的oAuth令牌。