我正在使用express
和passport-linkedin
。身份验证流程正常,我可以获取用户的基本配置文件,现在我想发出API请求。例如/v1/people/~/connections
。
我已经完成了一些阅读和反复试验,但我得到的只是Wrong Authentication Scheme
或Internal Server Error
。
我将token
和tokenSecret
提供给verify
实例的LinkedInStrategy
回调。如何从那些转到授权的API请求?
答案 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
是护照策略中变量的名称,根据您的设置方式,它可能会有所不同。基本上,它是经过身份验证的用户的一个字段; - )