【问题标题】:Creating Apple Music developer token创建 Apple Music 开发者令牌
【发布时间】:2018-10-27 16:11:58
【问题描述】:

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

【问题讨论】:

    标签: ios xcode jwt apple-musickit


    【解决方案1】:

    您首先必须使用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

    【讨论】:

    • 您好@Klaas 请您指定使用上面的代码是否能够生成获取个性化播放列表和所有内容所需的用户令牌(音乐令牌)。使用上述方法生成的令牌适用于 Catalogs 服务,但始终无法生成 UserToken。使用 python 脚本生成的令牌使用 (jeremyms answer) 在目录服务和 usertoken 的生成中运行良好。
    • @SULEMANBAWA 我还不需要它,但我会把它放在我的清单上试试。
    • 很好的答案!但是答案中的repo链接已经过期,可以找到新的Swift-JWT repo here
    【解决方案2】:

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

    【讨论】:

    • 我记得在创建有效的 JWT 时遇到了麻烦。这是对我有用的^。
    猜你喜欢
    • 2020-06-29
    • 2018-06-02
    • 2018-06-29
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    相关资源
    最近更新 更多