AppStoreConnect的Token生成

JWT Token生成方案

我當時找TestFlight的自動化方案找了半天沒有一點點文章介紹,所以我就寫一下。

以下是Api的文檔,然后Api里面的Token怎么生成本文來贅述一下。
AppStoreConnect Api

生成一個ApiKey

  1. 管理員身份的賬號登陸 AppStoreConnect
  2. 打開 用戶和訪問,選擇API Keys
  3. 點擊 生成API Key 或者 + 按鈕
  4. 輸入一個當前key的別名
  5. 選擇key的規(guī)則
  6. 點擊生成
  7. 然后就會有一個名稱,keyid,下載鏈接和其他信息。
  8. 點擊下載 (這個東西很寶貴,不要外傳)

生成一個Request Token

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

生成一個 JWT Header

  • Key id :在 用戶和訪問 -> API Keys 里面
Header Field Value
alg - 加密類型 ES256
kid - Key id {KeyID}
typ - Token 類型 JWT
{
"alg": "ES256",
"kid": "2X9R4HXF34",
"typ": "JWT"
}

生成JWT Payload

  • issuer id:在 用戶和訪問 -> API Keys 里面
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

  • Private Key:ApiKey中有個下載鏈接,下載下來的AuthKey_xxxx.p8文件

使用上面生成的 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"
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容