Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js passport oauth访问远程url_Node.js_Oauth_Passport.js - Fatal编程技术网

Node.js passport oauth访问远程url

Node.js passport oauth访问远程url,node.js,oauth,passport.js,Node.js,Oauth,Passport.js,我尝试在nodejs中实现OAuth解决方案。我使用passport oauth生成ACCESS令牌和正在工作的刷新令牌 var passport = require('passport'), OAuth = require('oauth').OAuth, url = require('url'), ArenaNet = require('passport-oauth').OAuth2Strategy, config = require('../config'),

我尝试在nodejs中实现OAuth解决方案。我使用passport oauth生成ACCESS令牌和正在工作的刷新令牌

var passport = require('passport'),
    OAuth = require('oauth').OAuth,
    url = require('url'),
    ArenaNet = require('passport-oauth').OAuth2Strategy,
    config = require('../config'),
    users = require('../../app/controllers/users.server.controller');

 module.exports = function() {
    passport.use('arenanet', new ArenaNet({
        authorizationURL: config.arenanet.authorizationURL,
        tokenURL: config.arenanet.tokenURL,
        clientID: config.arenanet.clientID,
        clientSecret: config.arenanet.clientSecret,
        callbackURL: config.arenanet.callbackURL,
        response_type: "code",
        scope: "offline account"
      },
    function(accessToken, refreshToken, code, profile, done) {
        console.log(accessToken);
        console.log(refreshToken);
        console.log(code);

        done();
    }));
};
这将生成以下输出:

69XXXXF-776D-4CXX-AXX7-29XXXXXX4DB5
5FXXXXXX-XXX67-E1XXX1-809D-XXXXXXXXXXXXXXXX-XX69-4XX6-XXF-4C6XXXXX08EB
{ access_token: 'XX0XXXXXF-77XXX-4XXXX-XXXA7-295XXXXXXB5',
  token_type: 'Bearer',
  scope: 'account' }
我是OAuth的新手。现在让我困惑的是如何使用令牌访问远程url。我的想法是这样的:

oauth.get(
            "https://api.guildwars2.com/v2/account",
            accessToken,
            function(err, body, response) {
                console.log(body);
            }
        );
什么东西显然不起作用。我看到了几个示例,说明如何使用令牌访问本地站点,而不是如何从远程url请求内容

有什么建议我可以用passport oauth来解决这个问题吗?或者我需要为该操作使用不同的模块吗

我希望你能在这里帮助我,会很酷的

谢谢大家,并致以最良好的问候,
迈克尔

这个问题运气好吗?我现在也有同样的问题!