AppStoreConnect的Token生成

2020-02-06  本文已影响0人  佛祖拿屠刀

JWT Token生成方案

我当时找TestFlight的自动化方案找了半天没有一点点文章介绍,所以我就写一下。

以下是Api的文档,然后Api里面的Token怎么生成本文来赘述一下。
AppStoreConnect Api

生成一个ApiKey

  1. 管理员身份的账号登陆 AppStoreConnect
  2. 打开 用户和访问,选择API Keys
  3. 点击 生成API Key 或者 + 按钮
  4. 输入一个当前key的别名
  5. 选择key的规则
  6. 点击生成
  7. 然后就会有一个名称,keyid,下载链接和其他信息。
  8. 点击下载 (这个东西很宝贵,不要外传)

生成一个Request Token

  1. 生成一个 JWT Header
  2. 生成一个 JWT Payload
  3. 生成一个 JWT

生成一个 JWT Header

Header Field Value
alg - 加密类型 ES256
kid - Key id {KeyID}
typ - Token 类型 JWT
{
"alg": "ES256",
"kid": "2X9R4HXF34",
"typ": "JWT"
}

生成JWT Payload

Payload Field Value
iss - Issuer id {issue id}
exp - 过期时间 {exp time}
aud - Audience appstoreconnect-v1
{
"iss": "57246542-96fe-1a63-e053-0824d011072a",
"exp": 1528408800,
"aud": "appstoreconnect-v1"
}

生成一个 JWT

使用上面生成的 jwt header , jwt payload ,Private key使用gen_jwt_s.rb生成一个

生成方案如下


    sudo gem install jwt

    ruby gen_jwt_s.rb 

然后按照指引一步步操作即可

  1. 输入kid
  2. 输入issueid
  3. 输入AuthKey_xxxx.p8文件地址

这个是我用rb写的一个简单的demo,想获得其他语言的支持请看JWT.io

使用 Request

替换以下的[signed token]为生成的token即可使用

curl -v -H 'Authorization: Bearer [signed token]' 
"https://api.appstoreconnect.apple.com/v1/apps"
上一篇下一篇

猜你喜欢

热点阅读