Создание токена разработчика Apple Music

Я пытаюсь создать JWT с JWT.io для Apple Music api (ObjC), и по какой-то причине он не генерирует токен, когда я следую формату, который Apple говорит в документации, используя (ES256). Кто-нибудь знает, как настроить токены API Apple Music для xcode?


person Stasy Meclazcke    schedule 17.05.2018    source источник


Ответы (2)


Сначала вам нужно создать идентификатор MusicKit и закрытый ключ, используя это руководство от Apple. . Затем токен можно легко создать с помощью Swift-JWT от 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

person Klaas    schedule 17.06.2019
comment
Привет @Klaas Не могли бы вы указать, что с помощью приведенного выше кода вы можете сгенерировать токен пользователя (музыкальный токен), который необходим для получения персонализированного списка воспроизведения и всего остального. Токен, созданный с использованием вышеуказанного метода, работает для службы каталогов, но всегда не работает для создания UserToken. Где токен, сгенерированный с использованием сценария python, с использованием (ответ Джеремиса) хорошо работает как в службах каталога, так и в генерации пользовательского токена. - person SULEMAN BAWA; 26.09.2019
comment
@SULEMANBAWA Мне это еще не нужно, но я внесу это в свой список, чтобы попробовать. - person Klaas; 27.09.2019
comment
Отличный ответ! Но ссылка репо в ответе истекла, вы можете найти новое репо Swift-JWT здесь - person Daniel Hu; 30.03.2021

Существуют текущие сторонние инструменты для создания токена разработчика Apple Music (например: https://github.com/pelauimagineering/apple-music-token-generator). Попробуйте использовать один из них, чтобы проверить, работает ли он.

person jeremyms    schedule 20.05.2018
comment
Я помню, что у меня возникли проблемы с созданием действительного JWT. Это ^ было тем, что сработало для меня. - person Brian Hamm; 25.05.2018