加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何创建用于Apple Music的JWT

发布时间:2020-12-16 23:23:10 所属栏目:百科 来源:网络整理
导读:我试图创建一个开发人员令牌,这是一个用于Apple Music身份验证的ES256 JWT. ( Here) 我使用ruby和JWT gem,但在创建令牌后,我在使用Apple Music进行身份验证时出现401错误 require 'jwt' payload = {:iss = 'CapExdTeam',:iat = '1497335982',:exp = '1513112
我试图创建一个开发人员令牌,这是一个用于Apple Music身份验证的ES256 JWT. ( Here)

我使用ruby和JWT gem,但在创建令牌后,我在使用Apple Music进行身份验证时出现401错误

require 'jwt'

    payload = {:iss => 'CapExdTeam',:iat => '1497335982',:exp => '1513112982'}

    priv = "-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgU208KCg/doqiSzsVF5sknVtYSgt8/3oiYGbvryIRrzSgCgYIKoZIzj0DAQehRANCAAQfrvDWizEnWAzB2Hx2r/NyvIBO6KGBDL7wkZoKnz4Sm4+1P1dhD9fVEhbsdoq9RKEf8dvzTOZMaC/iLqZFKSN6
-----END PRIVATE KEY-----"
    ecdsa_key = OpenSSL::PKey::EC.new(priv)

    token = JWT.encode payload,ecdsa_key,'ES256',{ :kid => "CapExedKid",:alg => "ES256" }
    puts token

    `curl -v -H 'Authorization: Bearer #{token}' "https://api.music.apple.com/v1/catalog/us/songs/203709340"

我使用示例私钥来模拟429错误仅用于说明目的

解决方法

我用过这个脚本,效果很好
https://github.com/pelauimagineering/apple-music-token-generator

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读