Python - 如何解码 JWT header ?

标签 python jwt

我有一个包含以下标题的 token eyJraWQiOiI4NkQ4OEtmIiwiYWxnIjoiUlMyNTYifQ

如何获得以下 JSON 解码为 jwt.io提供?

{
  "kid": "86D88Kf",
  "alg": "RS256"
}

jwt.decode() 没有给出这个 header 。

谢谢!

最佳答案

这是一个未加密的 header 。它是您想要的数据的 JSON 编码的 URL 安全 base64 编码。您需要在编码字符串的末尾添加填充字符,以确保它在 4 个字符的边界上,然后进行解码。

>>> import json
>>> import base64
>>> token = "eyJraWQiOiI4NkQ4OEtmIiwiYWxnIjoiUlMyNTYifQ"
>>> padded = token + "="*divmod(len(token),4)[1]
>>> padded
'eyJraWQiOiI4NkQ4OEtmIiwiYWxnIjoiUlMyNTYifQ=='
>>> jsondata = base64.urlsafe_b64decode(padded)
>>> jsondata
b'{"kid":"86D88Kf","alg":"RS256"}'
>>> data = json.loads(jsondata)
>>> data
{'kid': '86D88Kf', 'alg': 'RS256'}

关于Python - 如何解码 JWT header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64616462/

相关文章:

python - 使用 Ipython 调用 pylab 的 GUI 请求无效

java - 可以用Java实现twisted吗?

python - 将特定字符串转换为 Pandas 中的数值

spring-security - @EnableResourceServer : Mapping roles

reactjs - 如何使用 Spring Security 允许访问特定的 React Hash 路由?

python - 不要使用 tf.reset_default_graph() 清除嵌套图

python - 将检测到的人脸放入图像中并使用python在opencv的另一个窗口中显示

node.js - 在 Node Js 中发送错误的正确格式并在 Angular 5 中使用它们

javascript - 如何使用 next.js 获取客户端 cookie?

go - 使用存储在 Golang 自己的数据库中的用户创建 Google 身份验证服务