2

我目前正在尝试掌握护照,特别是如何验证 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了,但我不确定如何测试它是否成功。上面的代码不是我的全部,它是我从网上找到的几个片段拼凑而成的最简单的解决方案。

在邮递员中,我有以下选项:正常,基本身份验证,需要参数username and Password

Digest Auth 寻找参数Username, Realm, Password, Nonce, Algorithm, qop, Nonce count, Client nonce, Opaque

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

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

4

2 回答 2

4

以防万一有人正在寻找后期邮递员版本的解决方案。您可以设置您的邮递员以包含密钥“授权”,其值将是“Bearer XXXXX”,其中 XXX 是 access_token 值。

在此处输入图像描述

于 2016-03-18T06:02:59.863 回答
2

所以我想出我想要做的是token在我需要一个参数时使用一个参数access_token

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

在此处输入图像描述

于 2014-07-03T10:34:17.813 回答