首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kitura中解码来自azure active directory的jwt?

如何在kitura中解码来自azure active directory的jwt?
EN

Stack Overflow用户
提问于 2019-05-21 17:22:30
回答 1查看 134关注 0票数 1

我收到了来自azure ad的访问令牌,并尝试在kitura服务器上解码它。

在jwt.io上,我可以成功地解码它,但不是通过kitura示例项目中的jwt解码例程。我使用的是github上的样例kitura项目给出的确切代码。有没有人把它和天蓝色的令牌一起使用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 21:21:50

您应该能够将v1令牌解码为结构,而无需使用以下代码进行验证:

代码语言:javascript
复制
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

代码语言:javascript
复制
let verifier = JWTVerifier.rs256(publicKey: Data("<PEM public key>".utf8))

然后把这个传给解码器:

代码语言:javascript
复制
let verifiedJWT = try? JWT<AzureJWTClaims>(jwtString: "<YourJWTString>", verifier: verifier)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56235146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档