python - 如何使用 Oauth2.0 解码不透明的访问令牌
问题描述
我有一个令牌密钥,其中包含登录的个人电子邮件地址以及名称和其他端点。这实际上用于 xero API 连接。
scope = 'offline_access accounting.reports.read accounting.settings.read openid profile email'
我需要解码此令牌密钥并获取登录的电子邮件地址和登录人的姓名。
例如,我的令牌密钥如下。
b9b73c12b40a3bc1441f5bda331c4d7c64c0394956d5105eec61a71de19f8153
如何解码这个不透明的访问令牌并使用 python 获取相关信息。
解决方案
正如 jps 所说,客户端永远不应该直接解码访问令牌。您有以下选择:
从 ID 令牌中读取用户字段
UI 直接读取此 JWT,如我的博客文章的第 18 步。id 令牌始终具有 JWT 格式,旨在供客户端读取
使用用户信息端点
UI 可以使用上述博客文章第 24 步中的消息将访问令牌发送到用户信息端点。
从 API 获取用户信息
这往往是最可扩展的选项,因为您可以返回任何您想要的信息,并且您不限于访问令牌中包含的内容。博文的第 27 步使用此选项。
推荐阅读
- postgresql - Postgres:物化视图查询执行时间更长
- ios - 在使用 Amazon iOS SDK 的 swift iOS 应用程序中,如何为 AWSS3TransferUtility 下载操作设置自定义超时?
- java - 使用 docker 的 Spring Boot 管理员解析 docker 主机名和 IP
- javascript - 如何在 ChartJS 中跳过 x 轴标签
- git - Git 错误:“更新被拒绝,因为您当前分支的尖端落后”
- c# - 使用所有值减去一些值检查对象中的重复项
- python - Python- 带有 Statsmodels 的 ARMA 样本内预测函数
- java - 使用 Jackson 将 json 字符串转换为通用 Map
- node.js - Twiml Connect 方法问题
- xml - Odoo 11 自定义报告