0

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

我想我正在理解整体 oauth 概念,即取决于客户端(受信任与否),规范提供了几个流程,以便从资源所有者(用户)授予访问权限的角度“信任”客户端(应用程序)客户。

因为我正在构建的应用程序直接是服务生态系统的一部分,它将属于受信任的客户部分的保护范围,所以我决定实施资源所有者密码凭证授予,但这是我的知识与oAuth 提供的术语和确切作用,我的大脑关闭了 :)

我认为这是流程(带有更多技术思想):

  1. 通过登录表单,资源所有者提供他们的凭据
  2. 将详细信息提交给服务器(在本例中为 express.js 应用程序)
  3. 该应用程序通过一些本地机制对商店的用户凭据进行身份验证
  4. 如果用户不存在或验证失败,则返回登录
  5. 如果用户确实存在并且确实通过了验证,则启动将其凭据交换为令牌的机制(联系 oAuth 服务器并交换详细信息),该机制将加密/散列信息存储在某处(redis 可能?)
  6. 一旦令牌被返回,它可能存储在一个会话中以保持客户端的持久性(我认为 trello.com 做了类似的事情,因为他们有一个令牌 cookie,但我在这里可能是非常错误的)

这是可接受的流程吗?我似乎找不到任何可用的示例,作为目前唯一的开发人员,获得一些反馈会很好。

​​​

4

1 回答 1

0

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

于 2013-05-20T17:29:54.983 回答