小编plu*_*m 0的帖子

如何使用 Node-jose 验证 JWT 签名

我正在尝试使用node-jose来验证 JWT 的签名。我知道这个秘密,但无法将此秘密转换为用于验证的 JWK。

这是我如何尝试使用我的秘密创建密钥并验证我的令牌的示例。这导致Error: no key found.

let token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJpYWxfbnVtYmVyIjoiNWYxMGExNjMtMjk2OC00ZDZkLWIyZDgtOGQxNjQwMDNlMmQ0Iiwic2VxIjo1MTI4MTYsIm5hbWUiOiJOYW1lMSIsImlkIjo2NTQsImRlc2NyaXB0aW9uIjoiVGVzdCBEZWNvZGluZyJ9.ahLaTEhdgonxb8rfLG6NjcIg6rqbGzcHkwwFtvb9KTE"
let secret = "SuperSecretKey"
let props = {
    kid: "test-key",
    alg: "HS256",
    use: "sig",
    k: secret,
    kty: "oct"
}
let key;
jose.JWK.asKey(props).then(function(result) {key = result})
jose.JWS.createVerify(key).verify(token).then(function(result){console.log(result)})
Run Code Online (Sandbox Code Playgroud)

我是否需要修改我的令牌以kid在某处包含标头?我是否根据该库的已知秘密正确生成密钥?

javascript node.js jwt jwk node-jose

5
推荐指数
1
解决办法
8782
查看次数

标签 统计

javascript ×1

jwk ×1

jwt ×1

node-jose ×1

node.js ×1