当前位置: 首页 > 知识库问答 >
问题:

用于在客户端解码JWT的库

金子轩
2023-03-14

我正在开发一个网站,在cookies中存储JWT令牌。我想做的是,创建Javascript来解码令牌并提取我需要的值,然后将其传递给我的同事编写的另一个Javascript。我的问题是,是否有可以从脚本导入的用于JWT令牌解码的客户端javascript库?

共有2个答案

穆正青
2023-03-14

https://github.com/auth0/jwt-decode:jwt decode是一个小的浏览器库,帮助解码基于64URL编码的JWTs令牌。

拓拔松
2023-03-14

编辑:我注意到这个答案不正确。请看这个答案,如何在不使用库的情况下在javascript中解码jwt令牌?

JWT只是一个点分隔的base64编码字符串。您只需要在点上拆分,然后使用atob()进行解码。您不需要外部库。

例如

var jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";

var tokens = jwt.split(".");

console.log(JSON.parse(atob(tokens[0])));
console.log(JSON.parse(atob(tokens[1])));
 类似资料:
  • 问题内容: 有了JSR 311及其实现,我们有了一个强大的标准,可以通过REST公开Java对象。但是,在客户端,似乎缺少与SOAP的Apache Axis类似的东西-隐藏了Web服务并将数据透明地封送回Java对象的东西。 您如何创建Java RESTful客户端?使用HTTPConnection和手动解析结果?还是专业客户(例如Jersey或Apache CXR)? 问题答案: 这是一个古老的

  • 问题内容: JavaScript中是否可以使用base64编码对字符串进行编码和解码的任何方法? 问题答案: 某些浏览器(例如Firefox,Chrome,Safari,Opera和IE10+)可以原生处理Base64。看一下这个Stackoverflow问题。它正在使用和函数。 对于服务器端JavaScript(节点),可以使用进行解码。 如果您要使用跨浏览器解决方案,则可以使用现有的库,例如C

  • 我读了很多关于JWT的书,以及如何通过JWT创建“无状态”会话。我理解的要点是因为签名 我不明白的是,如果您的用户需要注销,或者您需要在过期之前使会话无效,会发生什么情况? 从技术上讲,您可以指示浏览器从客户端删除它,但您不能确定这是否真的发生了。令牌本身在技术上仍然有效,如果没有遵循您的删除说明,它仍然可以使用。 这种理解正确吗?如果是这样,这难道不是客户端会话管理的一个巨大错误吗?除了让服务器

  • 我是JWT新手,我只是将其作为JSON中的java对象返回,并制作了一些过滤器,以便它可以像Spring Security中的session_id一样工作。 但是我不明白JWT是如何存储在客户端的,在服务器响应之后它会去哪里?它是否由coockies中的所有浏览器自动存储?所有浏览器都支持JWT吗? 我很感激你的回答。

  • 问题内容: 我正在开发一个项目,该项目需要解析一些受保护的网页中的数据。为了获得对这些页面的访问权限,我必须克服SAML身份验证形式(Shibboleth)。是否有人能够在Android(Java)中实现此标准?我已经读过这个线程:Android的SAML客户端实现? 但这并不能给我一个很好的解决方案。实际上,我需要 获取某些受保护网页的数据 以便对其进行解析,而不是让用户看到此类网页的内容。因此

  • 问题内容: 有人知道iOS的Elasticsearch客户端库吗?如果它也是迅速写的,那将是一个好处。 elasticsearch的“客户端”部分显示了多个平台的多个库,但对于iOS没有任何显示,我觉得有人必须这样做吗? 干杯 问题答案: 我怀疑是否有人- 上次我检查时没有,并且有充分的理由。请记住,为了允许IOS客户端(或Android)使用客户端库连接到Elasticsearch,您必须打开集