apple内购,访问apple服务器jwt生成问题(java)
一,jwt内容
1.创建jwt标头
2.创建jwt负载
3.签署jwt
//Header 包含三个字段:
{
"alg": "ES256",
"kid": "XXXXXXXXXX", //示例 自行从苹果官网获取
"typ": "JWT"
}
//其中alg和typ– 静态值,以及kid– 是您的密钥 ID。
//JWT 负载如下所示:
{
"iss": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", //示例 自行从苹果官网获取
"iat": 1623085200,
"exp": 1623086400,
"aud": "appstoreconnect-v1",
"nonce": "nonce6-12b482e82" 0242ac130003" ,
"bid": "com.apphud" //示例
}
//iss – 是我们从 App Store Connect 获得的 Issuer ID。
//iat – 令牌创建日期,以秒为单位。
//exp– 令牌到期日期,以秒为单位。必须在令牌创建日期之后不到 1 小时。
//aud – 静态值“appstoreconnect-v1”。
//nonce – 一个随机的唯一请求标识符,“salt”。
//bid – 应用程序的捆绑 ID。
参考文档:https://juejin.cn/post/7036663876611473415
二,具体java代码
public static String getAppleJwt() {
Map<String, Object> header = new HashMap