我正面临这个错误 | 错误:'{"error":"invalid_client"}'| 在使用 nodejs 使用苹果 API 调用登录时。我已经尝试了很多次,但我得到了同样的错误。我尝试了不同的代码,不同的生成的 ClientID 和 PrivateKeys 但得到了同样的错误。我还阅读了关于 gitHub 和 developer.apple.com 的问题,但没有一个答案能帮到我。任何人的帮助将不胜感激。以下是我正在处理的代码!
const getClientSecret = () => {
const headers = {
alg: 'ES256',
kid: KEY_ID
};
const timeNow = Math.floor(Date.now() / 1000);
const claims = {
iss: TEARM_ID,
aud: 'https://appleid.apple.com',
sub: CLIENT_ID,
iat: timeNow,
exp: timeNow + 15777000
};
const token = jwt.sign(claims, PRIVATEKEY, {
algorithm: 'ES256',
header: headers
// expiresIn: '24h'
});
return token;
}
const clientSecret = getClientSecret();
const params = {
grant_type: 'authorization_code', // refresh_token authorization_code
code: req.body.code, //apple Login Token
//redirect_uri: [REDIRECT_URI],
client_id: CLIENT_ID,
client_secret: clientSecret
// refresh_token:body.id_token
};
try {
axios.request({
method: 'POST',
url: 'https://appleid.apple.com/auth/token',
data: querystring.stringify(params),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(response => {
console.log('response', response);
}).catch(error => {
console.log('error1', error.response.data);
res.send({
success: false,
error: error.response.data
})
})
} catch (error) {
console.log('error', error);
}
回复
statusCode: 400,
error: '{"error":"invalid_client"}'