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