我收到了来自azure ad的访问令牌,并尝试在kitura服务器上解码它。
在jwt.io上,我可以成功地解码它,但不是通过kitura示例项目中的jwt解码例程。我使用的是github上的样例kitura项目给出的确切代码。有没有人把它和天蓝色的令牌一起使用?
发布于 2019-05-21 21:21:50
您应该能够将v1令牌解码为结构,而无需使用以下代码进行验证:
struct AzureJWTClaims: Claims {
let aud: String
let iss: String
let iat: Date
let nbf: Date
let exp: Date
let acr: String
let aio: String
let amr: [String]
let appid: String
let appidacr: String
let email: String
let family_name: String
let given_name: String
let idp: String
let ipaddr: String
let name: String
let oid: String
let rh: String
let scp: String
let sub: String
let tid: String
let unique_name: String
let uti: String
let ver: String
}
let jwt = try? JWT<AzureJWTClaims>(jwtString: "<YourJWTString>", verifier: .none)如果您还想验证JWT,则需要从PEM编码的RSA公钥创建一个JWTVerifier:
let verifier = JWTVerifier.rs256(publicKey: Data("<PEM public key>".utf8))然后把这个传给解码器:
let verifiedJWT = try? JWT<AzureJWTClaims>(jwtString: "<YourJWTString>", verifier: verifier)https://stackoverflow.com/questions/56235146
复制相似问题