如何使用Postman测试Passport.js的基本承载策略

时间:2014-07-02 15:08:18

标签: javascript node.js express passport.js postman

我正在努力掌握护照,特别是如何验证一个Restful api,我有点不确定如何测试它我拥有的东西

我有以下BearerStrategy:

var BearerStrategy = new Bearer({
  },
  function(token, done) {
    process.nextTick(function () {

      findByToken(token, function(err, user) {
        if (err) { return done(err); }
        if (!user) { return done(null, false); }
        return done(null, user);
      })
    });
  }
);

其中findByToken是:

var api_users = [
    { id: 1, username: 'bob', token: '123456789', email: 'bob@example.com' }
  , { id: 2, username: 'joe', token: 'abcdefghi', email: 'joe@example.com' }
];
function findByToken(token, fn) {
  for (var i = 0, len = users.length; i < len; i++) {
    var user = api_users[i];
    if (user.token === token) {
      return fn(null, user);
    }
  }
  return fn(null, null);
}

然后我有以下路线:

app.get('/api', passport.authenticate('bearer', { session: false}), function (request, response){
    response.send('BAM! you got a response');
});

我已经尝试过邮差测试,但我得到Unauthorized,但我不确定如何测试这个是否成功。上面的代码不是我的全部,这是我可以从网上找到的几个片段拼凑起来的最简单的解决方案。

在Post man中我有以下选项:Normal,Basic Auth,它需要参数username and Password

Digest Auth,它看起来是params Username, Realm, Password, Nonce, Algorithm, qop, Nonce count, Client nonce, Opaque

OAuth 1.0,用于查找参数Consumer Key, Consumer Secret, Token, Token Secret, Signature Method, Timestamp,Nonce, Version, Realm, Add params to header ,Auto add parameters

这对我来说是全新的,我尝试过谷歌搜索如何测试。任何人都能提供的任何指导都会很棒。

2 个答案:

答案 0 :(得分:4)

以防有人在后期邮递员版本上寻找解决方案。您可以设置邮递员以包含密钥&#34;授权&#34;它的价值将是&#34; Bearer XXXXX&#34;其中XXX是access_token值。

enter image description here

答案 1 :(得分:2)

所以我想出我想要做的是在我需要token

时使用access_token参数

这是一个屏幕截图,以防任何人需要知道如何测试

enter image description here