在Nodejs中使用Passport模块进行OAuth

时间:2014-12-22 10:21:31

标签: node.js oauth

我是Node.js,OAuth的新手。

我正在使用Nodejs开发一个Web应用程序。我的应用程序正在与第三方API交互以获取数据。根据API和#34的文档;此第三方API中的所有方法都在请求标题中使用OAUTH身份验证参数"(不再详细说明)

我决定使用Node.JS的Passport模块来实现这一目标(http://passportjs.org/guide/oauth/)。

我的问题是我无法理解如何继续这一点。假设我们有一个API方法" http://api.travel/getAllLocation"返回用户可以旅行的所有位置。

有人可以通过提供示例如何使用NodeJS,Passport从webservice获取所需数据来为此提供帮助。

[更新] 找到了这个试图达到同样效果的答案。但是如何使用Passport实现同样的目标 How to send the OAuth request in Node

1 个答案:

答案 0 :(得分:0)

听起来好像你正在尝试使用Oauth来访问其他人的API吗?如果是这种情况,您需要通过以下方式与API进行交互:

  • 在给定API密钥的情况下请求Oauth令牌。
  • 将该令牌放入您的HTTP Authorization标头中,以便第三方API可以识别并验证您的身份。

使用cURL通过命令行(通常)请求API令牌的方式如下:

$ curl -v --user api_key_id:api_key_secret -X POST https://api.something.com/v1/auth?grant_type=client_credentials

这通常会返回某种令牌(希望是一个JSON Web令牌!),然后您可以使用它来标识自己。以下是正确指定令牌的示例cURL请求:

$ curl -v -H "Authorization: Bearer tokenhere" https://api.something.com/v1/blah

使用Node,您可以使用https://github.com/request/request库制作这些HTTP请求。同样,如果您将我们链接到确切的文档,我可以帮助您进一步=)