【发布时间】:2016-03-13 12:18:08
【问题描述】:
提前感谢您的帮助。
我正在尝试解决一个困扰我好几个星期的问题(尝试自己解决),但我非常卡住。
基本上,我有一个场景,我正在向身份服务器 (Oauth 2.0) 发送数据调用以检索然后在 API 调用中使用的令牌。
为此,我在 NodeJS 中设置了两个对请求模块的调用。第一次调用查询服务器,而第二次调用需要使用在第一次调用中检索到的令牌来访问我正在访问的 API。
我不知道如何从第一个调用(令牌)中获取变量,以便第二个请求可以访问。我一直在控制台中发现它是未定义的。
这是我迄今为止尝试过的代码。相关变量。尝试将变量令牌通过请求 2,因为我需要该令牌进行 api 调用。我在一个名为 dostuff 的函数中运行这些请求。
var request = require('request');
var http = require('http');
var fs = require('fs');
var options = {
url: 'https://identitywebsite.com/connect/token',
headers: {'authorization' : 'basic <<KEY>>', 'Content-Type' : 'application/x-www-form-urlencoded'},
port: '443',
path: '/users',
method: 'POST',
body: 'grant_type=password&username=<<USERNAME>>&password=<<PASSWORD>>&scope=read+write'
var dostuff = function() {
request(options, function(error, response, body){
console.log("success");
Data = JSON.parse(body);
//console.log(xx);
global.token = data.access_token;
})
};
var options2 = {
url: 'https://apiwebsite.com',
headers: {'authorization' : 'Bearer ' + token, 'Content-Type' : 'application/json'},
port: '443',
path: '/users',
method: 'GET'
}
console.log(options2);
request(options2, function(error, response, apiresponse){
console.log("triggered");
console.log(" data success2");
apidata = JSON.parse(apiresponse);
console.log(apidata);
});
【问题讨论】:
标签: javascript node.js variables oauth