【问题标题】:Apple MusicKit Developer TokenApple MusicKit 开发者令牌
【发布时间】:2018-06-29 20:22:23
【问题描述】:

我正在关注 Apple 的 musickit 指南,我一直在寻找解决以下步骤的问题:

Guide apple

我已经创建了令牌。

Token

但我不知道下一步该做什么:“使用您的 MusicKit 私钥对其进行签名(请参阅创建 MusicKit 私钥)。然后使用椭圆曲线数字签名算法 (ECDSA) 和 P 加密令牌-256曲线和SHA-256哈希算法。在算法头键(alg)中指定值ES256。

我不知道如何加密 ECDSA 或在哪里加密。

我不知道把 private 关键字放在哪里。

【问题讨论】:

标签: ios token


【解决方案1】:

如果您仍然对此感到好奇,那么 pelauimagineering's example 对我来说非常有效。

如果您还没有: 下载 pip,然后下载两个库:pyjwtcryptography

在终端上做:

$ sudo easy_install pip
$ sudo pip install pyjwt
$ sudo pip install cryptography  
  • 克隆 pelauimagineering 的存储库并编辑 music_token.py 用您下载的 .p8 密钥替换秘密变量的文件。
  • 将 keyId 替换为您在 developer.apple.com 上可以找到的值 在证书 > 密钥下,然后单击您的应用程序的密钥 下载 .p8 文件,您将在那里看到密钥 ID。
  • 最后,将 .py 文件中的 teamId 变量替换为您在 developer.apple.com/account 上的开发者帐户中找到的 10 位密钥,然后单击会员选项卡,您将看到您的 10 位 ID。请记住,您需要一个开发者令牌才能做到这一点,每年费用为 99 美元。

【讨论】:

    【解决方案2】:

    这是为 NodeJS 生成令牌的示例代码:

    const fs = require('fs');
    const jwt = require('jsonwebtoken');
    
    const privateKey = fs.readFileSync('AuthKey_1234.p8').toString(); // file downloaded when you created your key
    const jwtToken = jwt.sign({}, privateKey, {
      algorithm: 'ES256',
      expiresIn: '180d',
      issuer: '1234V73RKG', // Your team ID
      header: {
        alg: 'ES256',
        kid: '1234VPQXH4' // ID from the Key with MusicKit permissions
      }
    });
    
    
    console.log("token:", jwtToken, "\n");
    

    JWT 节点模块为您完成所有繁重的工作。

    【讨论】:

    • 嘿,我试过这段代码,但它对我不起作用,它仍然显示未经授权。我已经对此提出了一个问题,但没有任何有效的答案。这在 2019 年仍然有效吗?
    • @Tometoyou 它应该。您是否使用了正确的团队 ID 和密钥 ID?您还需要 Apple Music 会员资格。
    • 您需要苹果音乐会员资格?我没有那个。我以为您可以在不获取用户令牌的情况下访问他们的东西?我正在使用我的开发者帐户中的正确团队和密钥 ID。
    • @Tometoyou 来自文档:MusicKit JS lets users play songs from Apple Music and their Cloud Library inside your JavaScript app. - 您如何期望没有会员资格的用户能够播放歌曲?据我所知,这是必需的,从来没有尝试过没有会员资格。
    • 转到此页面上的验证请求:developer.apple.com/documentation/applemusicapi/…。它对“个性化请求”有一个单独的位,这意味着您仍然可以在不发送用户令牌的情况下获取数据。此外,您无需登录即可在 Apple Music 网站上播放预览音乐。我只想要 30 秒的预览音乐...请您尝试在没有用户令牌的情况下访问某些内容并告诉我它是否适合您?跨度>
    猜你喜欢
    • 2018-10-27
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多