我尝试在nodejs中实现OAuth解决方案 . 我使用passport-oauth生成acccess令牌并刷新令牌 .

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请求内容 .

有什么建议我怎么能用护照-oauth?或者我是否需要使用不同的模块进行此操作?

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

谢谢大家和最诚挚的问候,迈克尔