【发布时间】:2017-06-12 10:33:18
【问题描述】:
我导入 JWT(使用 .Package(url:"https://github.com/vapor/jwt.git", majorVersion: 1))
项目可以构建和运行。但是当我查看 CTLS 时,Xcode 显示“无法加载模块:CTLS”。我不知道为什么。
同时,我创建的 JWT 似乎也不对。这是我的代码:
import JWT
import Vapor
get("token") { req in
let algValue = StructuredData.string("ES256")
let kidValue = StructuredData.string("CapExedKid")
let headerData = StructuredData.object(["alg":algValue,"kid":kidValue])
let header = JSON.init(headerData)
let issValue = StructuredData.string("CapExdTeam")
let sec = Int(Date().timeIntervalSince1970)
let iatValue = StructuredData.number(StructuredData.Number(sec))
let expValue = StructuredData.number(StructuredData.Number(sec+1000000))
let claimsData = StructuredData.object(["iss":issValue,"iat":iatValue,"exp":expValue])
let claims = JSON.init(claimsData)
let url = URL.init(fileURLWithPath: "/Users/aamac/Desktop/HelloWorld/AuthKey_demoKey.p8")
let data = try Data.init(contentsOf: url)
let signer = ES256.init(key: data.makeBytes())
let jwt = try JWT.init(headers: header, payload: claims, signer: signer)
let token = try jwt.createToken()
return token }
正如 Apple Music API 所说,我使用令牌执行身份验证请求,我得到了一个 http 状态代码 500.. 我在终端中输入: curl -v -H '授权:承载 [开发者令牌]' "https://api.music.apple.com/v1/catalog/us/songs/203709340" 得到了 500..
但是我使用 Python 库来获取令牌并在终端中执行请求,它可以工作,所以我怀疑 swift 中的 JWT 是否存在某种问题...谁能告诉我??
【问题讨论】: