Had the same issue. This worked for me:
const privateKey = await readFile(filePath, { encoding: 'utf-8' })
const now = Math.floor(Date.now() / 1000)
return jwt.sign(
{
iss: issuer,
iat: now,
exp: now + 15776999, // ~ less than 6 months from now
origin: ['http://localhost:3000'], // recommended in the docs
},
privateKey,
{
header: {
alg: 'ES256',
kid,
typ: 'JWT',
},
},
)
Post
Replies
Boosts
Views
Activity
Hi @scottfinkelstein what version of the API are you using? I've got the same issue but using V3. No errors or anything
@hntdhs you can create an auth token with something similar to this:
const generateAppleMusicToken = async ({
filePath,
issuer,
kid,
}: { filePath: string; issuer: string; kid: string }) => {
console.log('Generating apply music token...')
const privateKey = await readFile(filePath, { encoding: 'utf-8' })
return jwt.sign({}, privateKey, {
issuer,
expiresIn: '180d',
header: {
alg: 'ES256',
kid,
},
})
}
you should have a .p8 file if you've signed up as an apple developer and created a key. For more info on JWTs, check out https://jwt.io/introduction