当前位置: 首页 > 面试题库 >

如何在不使用库的情况下在javascript中解码jwt令牌?

公孙慎之
2023-03-14
问题内容

如何使用JavaScript解码JWT的有效负载?没有图书馆。因此,令牌仅返回可由我的前端应用程序使用的有效负载对象。

令牌示例: xxxxxxxxx.XXXXXXXX.xxxxxxxx

结果是有效负载:

{exp: 10012016 name: john doe, scope:['admin']}

问题答案:

工作的Unicode文本JWT解析器功能:

function parseJwt (token) {
    var base64Url = token.split('.')[1];
    var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
    var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));

    return JSON.parse(jsonPayload);
};


 类似资料:
  • 本文向大家介绍在不使用任何库的情况下在javascript中增加日期?,包括了在不使用任何库的情况下在javascript中增加日期?的使用技巧和注意事项,需要的朋友参考一下 要在JS中添加一天的日期,最好使用setDate函数。您可以在Date原型上创建以下函数,以将日期添加到日期。 示例 这将在第二天记录。

  • 问题内容: 如何在不使用NetBeans等IDE的情况下在Java程序中导入库?在Netbeans中,我这样做:在此处输入图片说明 仅使用记事本++或程序员的记事本,我怎么能达到相同的目的。我不想使用Netbeans,因为 我只从事简单的项目,所以这可能会过分杀人。 问题答案: javac -classpath external.jar myClass.java 编辑: 如果您的主要班级在包裹中

  • 我们有一个应用程序,将部署在具有不同IP的服务器上。JNLP是在构建时生成的。因此,我们定义了没有代码库的JNLP: 然而,当第二次启动这个应用程序时(从第一次启动时创建的桌面图标),代码库被设置为本地文件系统,这是绝对无用的。我希望Java Webstart在第一次启动应用程序时使用实际的源地址设置代码库。这似乎不是真的。 我如何准备一个通用的JNLP,它可以在不同的服务器上使用而无需修改?

  • 我想解码我使用Postman收到的jwt令牌,并在RESTAPI中实现它。我该怎么做?我看到有人发布代码来解码jwt令牌(参考:如何在不使用库的情况下在javascript中解码jwt令牌?)但我不明白在《邮差》里怎么做?解码jwt需要什么url?需要什么标题、授权?

  • 我有一个正在使用Azure AD身份验证的应用程序。我还需要访问Microsoft Graph API以获取用户数据。我发现的每个向Graph API发出请求的示例都使用了缓存的会话令牌,但由于我使用的是JWT,因此显然不需要存储会话状态。如何使用JWT将我的应用程序作为受众来获得具有适当受众的JWT? 例如,这里有一个从Microsoft Graph AspNetCore示例检索令牌的请求: 它

  • 有没有一种方法可以下载Docker映像/容器,例如,使用Firefox,而不使用内置的。 我被公司防火墙和代理屏蔽了,我无法通过它得到一个洞。 我的问题是我不能使用Docker获取图像,即Docker保存/拉取和其他Docker提供的功能,因为它被防火墙阻止了。