创建Apple Music开发人员令牌

时间:2018-05-17 11:45:44

标签: ios xcode jwt apple-musickit

我正在尝试使用JWT.io为Apple Music api(ObjC)创建JWT,并且出于某种原因,当我遵循Apple在文档中使用的格式时,它不会生成令牌( ES256)。有谁知道如何为xcode设置Apple Music api令牌?

2 个答案:

答案 0 :(得分:2)

目前有第三方工具可用于创建Apple Music开发人员令牌(例如:https://github.com/pelauimagineering/apple-music-token-generator)。尝试使用其中一个来查看是否有效。

答案 1 :(得分:1)

您首先必须使用this guide from Apple创建MusicKit标识符和私钥。然后可以使用Swift-JWT from IBM在纯Swift中轻松创建令牌。

或多或少只是对SwiftJWT API的调用:

let teamId = "yourTeamID"
let keyId = "yourKeyID"
let keyFileUrl = URL(fileURLWithPath:"/pathToYour/key.p8")

struct MyClaims: Claims {
    let iss: String
    let iat: Date?
    let exp: Date?
}

let myHeader = Header(kid: keyId)
let myClaims = MyClaims(iss: teamId, iat: Date(), exp: Date() +  24 * 60 * 60)
var myJWT = SwiftJWT.JWT(header: myHeader, claims: myClaims)

let token = try! myJWT.sign(using: .es256(privateKey: try! String(contentsOf: keyFileUrl).data(using: .utf8)!))

我使用Swift软件包管理器创建了一个简单的示例和一个命令行工具:SwiftJWTSample