我正在关注Apple的musickit指南,我一直在寻找很长时间来解决以下问题:
我已经创建了令牌。
但我不知道下一步该做什么:"用你的MusicKit私钥签名(请参阅创建一个MusicKit私钥)。然后使用带有P-256曲线和SHA-256哈希算法的椭圆曲线数字签名算法(ECDSA)对令牌进行加密。在算法标题键(alg)"中指定值ES256。
我不知道如何加密ECDSA或在哪里。
我不知道在哪里放置私人关键字。
答案 0 :(得分:0)
以下是为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节点模块为您完成了所有艰苦的工作。
答案 1 :(得分:0)
如果您仍然对此感到好奇,那么pelauimagineering's example对我来说非常合适。
如果您还没有: 下载 pip ,然后下载两个库: pyjwt 和密码学
在终端上执行:
$ sudo easy_install pip
$ sudo pip install pyjwt
$ sudo pip install cryptography
music_token.py
文件,用您下载的.p8密钥替换秘密变量。