• 1分钟学会使用jwt,(Json Web token)创建token令牌,解析token令牌(通俗的说就是加密,解密)


    上代码

    public static void main(String[] args) {
            //用户登录,获取数据库用户表的信息
            //假如用户id:1
            JwtBuilder builder = Jwts.builder()
                    //设置用户id
                    .setId("1")
                    //设置主题(这个主题是干什么用的?,也可以不设置,感觉可以放其他重要的信息)
                    .setSubject("bwcx123")
                    //设置创建时间
                    .setIssuedAt(new Date())
                    //设置过期时间
                    .setExpiration(new Date(new Date().getTime() + 60000))
                    //设置角色名称
                    .claim("roles","admin")
                    //自定义key(可以理解为解密的钥匙一般在配置文件里面)
                    .signWith(SignatureAlgorithm.HS256, "bwcyguil");
            //用户登录之后,返回给前端token
            System.out.println("token..."+builder.compact());
    
            //前端请求带着token,后端解析
            Claims claims=Jwts.parser().setSigningKey("bwcyguil").parseClaimsJws(builder.compact()).getBody();
            //获取用户id
            System.out.println("id:"+claims.getId());
            //获取主题
            System.out.println("subject:"+claims.getSubject());
            //获取token创建时间(格式化时间引的jar为org.joda.time.DateTime)
            System.out.println("IssuedAt:"+ new DateTime(claims.getIssuedAt()).toString("yyyy-MM-dd HH:mm:ss"));
            //获取角色名称
            System.out.println("roles:"+claims.get("roles"));
        }
    <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>0.6.0</version>
            </dependency>
    <!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.10</version>
            </dependency>
  • 相关阅读:
    彭明辉教授-《研究生完全求生手册》
    使用npm创建一个命令行工具
    #!/usr/bin/python与#!/usr/bin/env python的区别
    使用node+express搭建第一个node后端项目
    使用npm创建一个程序库包
    多项式多点求值
    2. 两数相加
    CSS实现子元素自动充满父元素的剩余空间
    侧边导航栏滚动条---CSS overflow实现
    Asp.NET Core简介
  • 原文地址:https://www.cnblogs.com/javalbb/p/12752088.html
Copyright © 2020-2023  润新知