I am using Satellizer module for Social Login & Signup. I am able to authenticate Instagram but during Linkedin authentication process, I am getting following error -
{
error_description: 'missing required parameters, includes an invalid parameter value, parameter more than once. : client_secret',
error: 'invalid_request'
}
I have checked numerous times but could not get this resolved. Below is the code I am using-
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
});
Try using set content type header for request Content-Type: application/x-www-form-urlencoded
.
From 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