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

如何使用spring boot jwt注销

宿文栋
2023-03-14

我使用这个示例https://dzone.com/articles/spring-boot-security-json-web-tokenjwt-hello-world创建带有json web令牌(JWT)的spring boot rest api。但是我没有找到任何使用io.jsonWebToken maven依赖项强制注销的api。

我正在pom中使用此依赖项:


groupId io.jsonwebtoken
artifactId jjwt
version 0.9.1

任何一个可以告诉我这个依赖,提供任何注销或撤销令牌api或不。如果没有,请提供任何使用此进程强制注销的解决方案。

共有1个答案

融烨磊
2023-03-14

注销可以做几件事:

  1. 通常,jwt令牌存储在浏览器本地存储中,如果我们谈论的是单页应用程序的话,则存储在会话存储中。因此,在这种情况下可以做的第一件事--从存储中删除令牌:

Window.SessionStorage.RemoveItem(“令牌”)//用于会话存储

Window.LocalStorage.RemoveItem(“令牌”)//用于本地存储

请参阅:https://developer.mozilla.org/ru/docs/web/api/window/sessionstorage https://developer.mozilla.org/ru/docs/web/api/window/localstorage

Angular中的示例:https://github.com/dmcheremisin/todoapp/blob/master/frontend/src/app/service/jwt-authentication.service.ts

如果您需要允许进一步使用令牌-您刷新它,否则拒绝。

刷新方法示例:

public String refreshToken(String token) {
    final Date createdDate = new Date();
    final Date expirationDate = calculateExpirationDate(createdDate);

    final Claims claims = getAllClaimsFromToken(token);
    claims.setIssuedAt(createdDate);
    claims.setExpiration(expirationDate);

    return Jwts.builder().setClaims(claims).signWith(SignatureAlgorithm.HS512, secret).compact();
}

这个代码片段来自我的repo,它使用相同的库jjwt:https://github.com/dmcheremisin/todoapp/blob/master/backend/src/main/Java/com/todo/app/util/jwttokeNutil.Java

相关文章:https://medium.com/devgorilla/how-to-log-out-when-using-jwt-a8c7823e8a6

 类似资料:
  • 问题内容: 如何在React组件的方法内部使用注释? 我有以下组成部分: 我的评论显示在用户界面中。 在组件的渲染方法中应用单行和多行注释的正确方法是什么? 问题答案: 因此,在方法内允许使用注释,但为了在JSX中使用它们,必须将它们用大括号括起来并使用多行样式的注释。 您可以在此处阅读有关注释如何在JSX中工作的更多信息

  • 我尝试这个为fb注销,给我错误。 NoSuchElement异常:消息:无法定位元素:{"方法":"xpath","selector":"/html/body/div[25]/div/div/div/div[1]/div/div/ul/li[3]/a/span/span"}

  • 跑步 当我用“通常的”注释器tokenize、ssplit、pos、lemma和ner运行脚本时,它们都工作得很好,但是添加quote不会改变输出。我使用stanford-corenlp-full-2015-12-09版本。我如何使用引用注释器,它意味着做什么?

  • 问题内容: 我需要从单例中获取原型类。我发现方法注入是可行的方法,但是我真的不知道如何使用spring @Lookup注释。 我是依赖注入的新手,我选择了注释配置,因此我想朝着这个方向继续。 我发现@Lookup注释是最近才添加的(https://spring.io/blog/2014/09/04/spring- framework-4-1-ga-is-here ),但是我找不到任何方法用它。 所

  • 问题内容: 如何在Spring中使用@Value批注将值从属性文件注入Map中? 我的Spring Java类是我尝试使用$,但收到以下错误消息 无法自动装配字段:私有 嵌套异常是:无法解析字符串值中的占位符 我在.properties文件中具有以下属性 问题答案: 我相信Spring Boot支持使用注释开箱即用地加载属性映射。 根据该文档,你可以加载属性: 像这样变成豆子: 我之前使用过@Co