使用 AngularJS Satellizer 模块的 Linkedin 身份验证
Linkedin authentication using AngularJS Satellizer module
我正在使用 Satellizer 模块进行社交登录和注册。
我可以对 Instagram 进行身份验证,但在 Linkedin 身份验证过程中,出现以下错误 -
{
error_description: 'missing required parameters, includes an invalid parameter value, parameter more than once. : client_secret',
error: 'invalid_request'
}
我已经检查了很多次,但无法解决这个问题。
下面是我使用的代码-
var accessTokenUrl = 'https://www.linkedin.com/uas/oauth2/accessToken';
var peopleApiUrl = 'https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,picture-url,headline,location,industry,summary,specialties,positions,picture-urls::(original))';
var params = {
client_id: req.body.clientId,
client_secret: CLIENT_SECRET,
code: req.body.code,
redirect_uri: req.body.redirectUri,
grant_type: 'authorization_code'
};
request.post(accessTokenUrl, {form: params, json: true }, function (err, response, body) {
if (response.statusCode !== 200) {
return res.status(response.statusCode).send({message: body.error_description});
}
var params = {
oauth2_access_token: body.access_token,
format: 'json'
};
// Other relevant code
});
尝试为请求 Content-Type: application/x-www-form-urlencoded
使用设置内容类型 header。
来自LinkedIn
POST /oauth/v2/accessToken HTTP/1.1
Host: www.linkedin.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=987654321&redirect_uri=https%3A%2F%2Fwww.myapp.com%2Fauth%2Flinkedin&client_id=123456789&client_secret=shhdonottell
我正在使用 Satellizer 模块进行社交登录和注册。 我可以对 Instagram 进行身份验证,但在 Linkedin 身份验证过程中,出现以下错误 -
{
error_description: 'missing required parameters, includes an invalid parameter value, parameter more than once. : client_secret',
error: 'invalid_request'
}
我已经检查了很多次,但无法解决这个问题。 下面是我使用的代码-
var accessTokenUrl = 'https://www.linkedin.com/uas/oauth2/accessToken';
var peopleApiUrl = 'https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,picture-url,headline,location,industry,summary,specialties,positions,picture-urls::(original))';
var params = {
client_id: req.body.clientId,
client_secret: CLIENT_SECRET,
code: req.body.code,
redirect_uri: req.body.redirectUri,
grant_type: 'authorization_code'
};
request.post(accessTokenUrl, {form: params, json: true }, function (err, response, body) {
if (response.statusCode !== 200) {
return res.status(response.statusCode).send({message: body.error_description});
}
var params = {
oauth2_access_token: body.access_token,
format: 'json'
};
// Other relevant code
});
尝试为请求 Content-Type: application/x-www-form-urlencoded
使用设置内容类型 header。
来自LinkedIn
POST /oauth/v2/accessToken HTTP/1.1
Host: www.linkedin.com
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=987654321&redirect_uri=https%3A%2F%2Fwww.myapp.com%2Fauth%2Flinkedin&client_id=123456789&client_secret=shhdonottell