You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取appleid.apple.com/auth/revoke的client_id与client_secret

iOS端调用Apple账号注销接口的参数获取说明

你调用Apple令牌撤销接口时用到的两个核心参数取值和获取方式如下:

client_id

  • 直接填你iOS应用的Bundle ID即可,就是你在Apple Developer后台注册App ID时填写的应用包名,和你集成「通过Apple登录」能力时绑定的App标识完全一致。

client_secret

这个参数不是客户端可直接读取的固定值,是符合Apple签名规则的自签JWT字符串,生成规则如下:

  • 先准备好签名所需的基础材料:
    • 你Apple开发者账号的Team ID(10位字符,在开发者后台账号会员信息页可查)
    • 你为「通过Apple登录」功能创建的密钥对应的Key ID
    • 上述密钥对应的.p8格式私钥文件(创建密钥时从Apple后台下载,仅可下载一次)
  • 按照JWT规范组装内容:
    • Header部分固定字段:
      • alg固定填ES256
      • kid填你拿到的Key ID
    • Payload部分必填字段:
      • iss填你的10位Team ID
      • iat填JWT生成时的秒级时间戳
      • exp填JWT过期的秒级时间戳,注意有效期最长不能超过180天
      • aud固定填https://appleid.apple.com
      • sub和client_id取值一致,即你的App Bundle ID
  • 用下载到的.p8私钥对拼接好的Header、Payload做ES256签名,拼接成完整JWT字符串就是合法的client_secret。

安全提示:.p8私钥绝对不能硬编码存放在iOS客户端内,否则会有被恶意提取后滥调用接口的风险,client_secret的生成逻辑必须放在你的自有服务端完成,客户端需要调用撤销接口时,先向自有服务端请求临时有效的client_secret再发起请求。

你提到的curl请求参考格式如下(参数替换为实际值即可):

curl -v POST "https://appleid.apple.com/auth/revoke" \
-H 'content-type: application/x-www-form-urlencoded' \
-d 'client_id=你的App Bundle ID' \
-d 'client_secret=你服务端生成的合法JWT字符串' \
-d 'token=用户Apple登录后获取到的refresh_token' \
-d 'token_type_hint=refresh_token'

内容的提问来源于stack exchange,提问作者kursatsimsek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 03:48:44