作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个函数,它接收一个 token ,对其进行解码,然后使用有效负载来执行一些逻辑。我想用我操纵的声明来生成 token 以测试该函数。
我从 https://mkjwk.org/ 生成了一个 key 对并按以下方式使用它:
from jose import jwt
claims = {"hello": "world"}
key = {
"kty": "RSA",
"d": "RSjC9hfDtq2G3hQJFBI08hu3CJ6hRRlhs-u9nMFhdSpqhWFPK3LuLVSWPxG9lN7NQ963_7AturR9YoEvjXjCMZFEEqewNQNq31v0zgh9k5XFdz1CiVSLdHo7VQjuJB6imLCF266TUFvZwQ4Gs1uq6I6GCVRoenSe9ZsWleYF--E",
"e": "AQAB",
"use": "sig",
"kid": "1234567890",
"alg": "RS256",
"n": "thBvC_I9NciW6XqTxUFMZaVVpvGx6BvLHd3v8Visk_6OoDCVXF_6vNktNi6W7CBkuHBqGyuF0wDFrHcZuZq_kLKI6IRofEzKyUoReOyYRlPt5ar64oDO-4mwH47fb99ILW94_8RpQHy74hCnfv7d888YaCmta9iOBOvggcvxb5s"
}
token = jwt.encode(
{"hello": "world"},
key,
algorithm="RS256",
)
jwt.decode(token, key, algorithms="RS256") == claims
jose.exceptions.JWTError: Signature verification failed.
错误。
最佳答案
弄清楚了!
使用完整的公钥/私钥字符串:
token = jws.sign({"hello": "world"}, rsa_private_key, algorithm="RS256")
assert jwt.decode(token, rsa_public_key, "RS256") == {"hello": "world"}
private_key = jwk.construct(rsa_private_key, "RS256").to_dict()
public_key = jwk.construct(rsa_public_key, "RS256").to_dict()
token = jws.sign({"hello": "world"}, private_key, algorithm="RS256")
assert jwt.decode(token, public_key, "RS256") == {"hello": "world"}
关于python - 如何生成我用 jose.jwt.decode 解码的 RS256 签名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973735/
我是一名优秀的程序员,十分优秀!