React Native中Apple Sign In令牌撤销报错invalid_client求助
Apple Sign In 撤销令牌时
invalid_client 错误排查 以下是常见的错误原因及排查方向:
客户端身份验证失败
Apple的令牌相关接口要求严格的客户端身份校验,需确认:client_id是Apple开发者后台配置的Sign In with Apple服务ID(或对应Bundle ID),格式需完全匹配。client_secret生成正确:- 必须使用开发者后台下载的
AuthKey_XXX.p8密钥文件生成JWT。 - JWT payload需包含
iss(你的Team ID)、iat(签发时间戳)、exp(过期时间戳,最长不超过6个月)、aud(固定为https://appleid.apple.com)、sub(即client_id)。 - 签名算法必须使用
ES256。
- 必须使用开发者后台下载的
client_secret的签名主体必须与请求中的client_id完全一致。
请求接口或参数错误
注意:Apple用于撤销令牌的接口是https://appleid.apple.com/auth/revoke,若误调用/auth/token(该接口用于获取/刷新令牌)会导致异常。同时需确保请求参数符合要求:- 必须包含
client_id、client_secret、token(要撤销的access_token或refresh_token)。 - 可选参数
token_type_hint需正确指定令牌类型(access_token或refresh_token)。 - 请求体必须以
application/x-www-form-urlencoded格式提交,不支持JSON格式。
- 必须包含
环境不匹配
若使用测试用户进行验证,必须调用Apple沙箱环境接口,且确保令牌是从沙箱环境获取的。沙箱环境的撤销接口地址为https://appleid.apple.com/auth/revoke(与生产环境域名一致,但仅接受测试用户的令牌)。请求编码或头信息错误
确认请求的Content-Type头设置为application/x-www-form-urlencoded,所有参数都进行了URL编码,避免特殊字符导致的解析错误。
内容的提问来源于stack exchange,提问作者S.Hashmi
相关产品推荐
相关产品推荐

