如何 使用 Oauth2.0 解码 不 透明 访问 令牌

9njqaruj  于 2022-11-21  发布在  其他
关注(0)|答案(2)|浏览(200)

我有一个令牌密钥,其中包含登录的人的电子邮件地址以及名称和其他端点。这实际上是在xero API连接使用。

scope = 'offline_access accounting.reports.read accounting.settings.read openid profile email'

我需要解码此令牌密钥,并获得登录的电子邮件地址和登录人员的姓名。
例如,我的令牌密钥如下所示。

b9b73c12b40a3bc1441f5bda331c4d7c64c0394956d5105eec61a71de19f8153

我如何解码这个不透明的访问令牌,并使用python获得相关信息。

roejwanj

roejwanj1#

正如jps所说,客户端永远不应该直接解码访问令牌。

从ID令牌读取用户字段

UI直接读取此JWT。ID标记始终采用JWT格式,并设计为供客户机读取。

使用用户信息端点

UI可以使用上述博客文章的步骤24中的消息将访问令牌发送到UserInfo端点。

从API获取用户信息

这往往是最具扩展性的选项,因为您可以返回所需的任何信息,并且不受访问令牌中所包含内容的限制。

4dc9hkyq

4dc9hkyq2#

const token = req.headers.authorization.split(" ")[1]; //Bearer +token
const decodedToken = jwt.verify(token, "secret_message_long_string");
req.userData = { email: decodedToken.email, userId: decodedToken.userId };

此示例用于解码节点j的数据。
在python中尝试同样的方法。导入jwt并使用方法verfiy将令牌和secret字符串作为参数传递。

相关问题