从 App Store Connect API 获取授权令牌 Token

发布于 2022-02-18 15:06:02 字数 1886 浏览 1327 评论 1

苹果提供了一整套 API 接口,方便我们创建证书、创建账号、增加 Devices 等等,这些都可以调用命令操作,可以按需来完成自动化操作或批量操作。

生成 API 密钥

  1. 登录 App Store Connect
  2. 用户和访问 中点按 密钥 。页面随即打开,并已选中 App Store Connect API
  3. 点按 生成 API 密钥 。如果已有一个或多个有效 API 密钥,您可以点按添加符号(+)生成更多密钥。
  4. 输入密钥名称。名称仅用于参考,不会包含在密钥中。
  5. 访问 一栏中,选择职能权限。职能权限决定了该 API 可以访问和管理的内容。API 密钥对所有 App 生效,您无法更改 API 密钥的 App 访问权限。
  6. 点按 生成

API 密钥一旦生成,您将无法编辑其名称或访问权限。如需进行更改,请撤销该 API 密钥并生成新的 API 密钥。

下载 API 密钥

  1. 手动刷新整个网页,从已生成的 API 秘钥中下载 私钥 文件。
  2. 个人 API 密钥只能下载一次。如果您目前尚未准备好下载密钥,可以点按 取消,稍后再下载。请确保妥善保存密钥备份。

生成 Token

通过上面获取到的信息,我们就可以生成接口需要的令牌 Token。

构造 header

let header = {
  alg: 'ES256',
  kid: this.kid,
  typ: 'JWT',
};

构造 payload

let payload = {
  iss: this.issuer_id,
  iat: Math.floor(new Date().getTime() / 1000),
  exp: Math.floor(new Date().getTime() / 1000 + 60 * 20),
  aud: 'appstoreconnect-v1',
};

注意:exp​ 只能设置为当前时间 + 20 分钟,大于 20 分钟的时间生成的 token 是无效的。

最后通过 jsonwebtoken 生成 token

const token = jwt.sign(
  payload, 
  fs.readFileSync(this.ctx.request.files[0].filepath),
  {
    algorithm: 'ES256',
    header,
  }
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

JSmiles 2023-10-30 11:45:01

用同样的方式,可以再管理应用内购买等相关接口的 Token。

~没有更多了~

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

烙印

文章 0 评论 0

singlesman

文章 0 评论 0

独孤求败

文章 0 评论 0

晨钟暮鼓

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文