【发布时间】:2019-10-18 22:31:20
【问题描述】:
我正在处理DeviceCheck。要生成 JSON 网络令牌,我正在使用 SwiftJWT 库。但我不知道如何为DeviceCheck 生成JWT。
代码:
let contents = try String(contentsOfFile: filepath)
let headers = Header(kid: key_id)
struct MyClaims: Claims {
var iss: String
var iat: Date
var exp: Date
}
let jwt = JWT(header: headers, claims: MyClaims(iss: iss_id, iat: Date(timeIntervalSinceNow: 3600), exp: Date(timeIntervalSinceNow: 3600)))
let privateKey = contents.data(using: .utf8)!
let rsaJWTEncoder = JWTEncoder(jwtSigner: JWTSigner.es256(privateKey: privateKey))
var jwtString = try rsaJWTEncoder.encodeToString(jwt)
在打印 JWT 时,我收到以下回复:
JWT(header: SwiftJWT.Header(typ: Optional("JWT"), alg: 可选(“ES256”),jku:无,jwk:无,孩子:可选(“KEY_ID”), x5u:无,x5c:无,x5t:无,x5tS256:无,cty:无,暴击:无), 声明:SwiftiOSDeviceCheck.ViewController.(未知上下文在 $104614dbc).(未知上下文 $104614e28).MyClaims(iss: “ISS_ID”,iat:2019-06-03 11:55:53 +0000,exp:2019-06-03 11:55:53 +0000))
从 API 我得到以下邮递员的响应:
无法验证授权令牌
我该如何解决这个问题?
【问题讨论】:
标签: ios swift devicecheck