2016-03-03 52 views
0

免责声明:我是非常新的Node开发人员,也是JavaScript的新成员。我在Java,C++和围绕这些的框架方面有很多经验,所以我理解开发范例,但我不熟悉如何构造JS或设计模式。我很快就完成了这个任务:/如何利用请求承诺从Oauth服务器请求OAuth2令牌并将请求标头包含在请求标头中

我们的节点应用程序需要向需要OAuth2身份验证的服务发出请求。

我们的应用可以成功请求并接收OAuth载体令牌,并且还可以使用该令牌向服务发出请求。但它的一切都非常分离。

我希望做的是挂钩的截击请求模块(我们使用的请求的承诺),其被称为例如:

  1. 请求模块之前,调用将控制权交给美国请求 服务
  2. 我们得到了缓存OAuth令牌头的副本或申请新的令牌,并建立了标题(和缓存它)
  3. 我们将新的OAuth令牌头以请求
  4. 然后返回控制到请求模块fo r正常执行

我看了看request-promise并发现它在挂钩'request'模块上做了类似的事情。并且查看nodejs的'request'模块,看起来好像有一个用于添加OAuth头部的钩子。

我的问题是如何利用挂钩,如果它存在。这是最好的方法吗?最后,是否有这个特定情况的示例/模式。我在节点中看到了很多OAuth示例,但其中大部分是用于验证传入客户端的,而不是传出的请求,并且我发现的示例与我们已有的类似,具有非耦合的过程。

非常感谢在此提供任何帮助。

回答

-1

我在request-promise模块(https://www.npmjs.com/package/request-promise)中没有找到任何相关文档。

所以我的猜测是你应该有一个服务RequestBuilder构建要传递的选项对象并自动添加所有你需要的东西。所以,你的请求将最终看起来像这样:

rp(RequestBuilder.get('uri')) 

随着RequestBuilder.get建设get函数并添加必要的标头。