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

如何解码/解密Apple Server-to-Server Notifications的Payload?

解析Sign In with Apple的Payload步骤

你收到的这个payload是JWT格式(JSON Web Token),由头部、负载、签名三部分通过点号.分隔组成,处理步骤如下:

  • 第一步:验证JWT签名(必须执行,确保数据合法性)

    • 从Apple官方提供的公钥端点获取对应公钥,公钥会包含与JWT头部kid字段匹配的密钥ID
    • 使用该公钥,结合JWT头部指定的算法(通常是ES256)验证签名,确认payload未被篡改或伪造
  • 第二步:解码负载内容

    • 取JWT中间的第二部分(即负载段),它是Base64URL编码格式,需要先做字符替换:把-换成+,_换成/,再根据长度补全=字符(Base64要求长度是4的倍数)
    • 对替换后的字符串进行Base64解码,就能得到明文的JSON格式用户信息
  • 特殊情况:如果payload是加密状态

    • 若你在集成时请求了用户私密信息,Apple会返回加密的JWT(即JWE格式)
    • 使用你在Apple开发者后台创建的Sign In with Apple专用私钥,结合JWT头部的算法和密钥ID,执行解密操作,解密后即可得到明文payload

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:45:34