【发布时间】:2018-10-27 16:11:58
【问题描述】:
我正在尝试使用 JWT.io 为 Apple Music api (ObjC) 创建 JWT,由于某种原因,当我按照 Apple 在文档中使用 (ES256) 所说的格式时,它不会生成令牌。有谁知道如何为 xcode 设置 Apple Music api 令牌?
【问题讨论】:
标签: ios xcode jwt apple-musickit
我正在尝试使用 JWT.io 为 Apple Music api (ObjC) 创建 JWT,由于某种原因,当我按照 Apple 在文档中使用 (ES256) 所说的格式时,它不会生成令牌。有谁知道如何为 xcode 设置 Apple Music api 令牌?
【问题讨论】:
标签: ios xcode jwt apple-musickit
您首先必须使用this guide from Apple 创建一个 MusicKit 标识符和一个私钥。然后可以在纯 Swift 中使用 Swift-JWT from IBM 轻松创建令牌。
这或多或少只是对 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
【讨论】:
目前有第三方工具可用于创建 Apple Music 开发者令牌(例如:https://github.com/pelauimagineering/apple-music-token-generator)。尝试使用其中一种看看是否有效。
【讨论】: