1

我正面临这个错误 | 错误:'{"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"}'
4

0 回答 0