Я пытаюсь создать JWT с JWT.io для Apple Music api (ObjC), и по какой-то причине он не генерирует токен, когда я следую формату, который Apple говорит в документации, используя (ES256). Кто-нибудь знает, как настроить токены API Apple Music для xcode?
Создание токена разработчика Apple Music
Ответы (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
Привет @Klaas Не могли бы вы указать, что с помощью приведенного выше кода вы можете сгенерировать токен пользователя (музыкальный токен), который необходим для получения персонализированного списка воспроизведения и всего остального. Токен, созданный с использованием вышеуказанного метода, работает для службы каталогов, но всегда не работает для создания UserToken. Где токен, сгенерированный с использованием сценария python, с использованием (ответ Джеремиса) хорошо работает как в службах каталога, так и в генерации пользовательского токена.
- person SULEMAN BAWA; 26.09.2019
@SULEMANBAWA Мне это еще не нужно, но я внесу это в свой список, чтобы попробовать.
- person Klaas; 27.09.2019
Отличный ответ! Но ссылка репо в ответе истекла, вы можете найти новое репо Swift-JWT здесь
- person Daniel Hu; 30.03.2021
Существуют текущие сторонние инструменты для создания токена разработчика Apple Music (например: https://github.com/pelauimagineering/apple-music-token-generator). Попробуйте использовать один из них, чтобы проверить, работает ли он.
person
jeremyms
schedule
20.05.2018
Я помню, что у меня возникли проблемы с созданием действительного JWT. Это ^ было тем, что сработало для меня.
- person Brian Hamm; 25.05.2018