表达护照 - linkedin,提出api请求

时间:2014-10-10 00:19:43

标签: node.js linkedin passport.js

我正在使用expresspassport-linkedin。身份验证流程正常,我可以获取用户的基本配置文件,现在我想发出API请求。例如/v1/people/~/connections

我已经完成了一些阅读和反复试验,但我得到的只是Wrong Authentication SchemeInternal Server Error

我将tokentokenSecret提供给verify实例的LinkedInStrategy回调。如何从那些转到授权的API请求?

1 个答案:

答案 0 :(得分:1)

我使用' isLegit'作为中间件运行的函数。

示例:

app.get('/api/mysecuredpage',isLegit,function(req,res){
    res.render('mysecurepage');
});

function isLegit(req, res, next) {
    // if user is authenticated in the session, next
    if (req.isAuthenticated())
        return next();

    // if they aren't send an error
    res.json({error:'You must be logged in to view information'});
}

编辑:

要向linkedIn api发出请求,只需使用以下选项设置您的请求:

  var options = { 
        url: 'https://api.linkedin.com/v1/people/~/connections',
        headers: { 'x-li-format': 'json' },
        qs: { oauth2_access_token: user.access_token }
      };
   request(options,function(err,res,body){
     console.log(body);
   });

access_token是护照策略中变量的名称,根据您的设置方式,它可能会有所不同。基本上,它是经过身份验证的用户的一个字段; - )