如何在springboot运行token?-创新互联

一、使用maven引入jjwt包

<dependency>
     <groupId>io.jsonwebtoken</groupId>
     <artifactId>jjwt</artifactId>
     <version>0.6.0</version>
</dependency>

二、生成token的方式

新建一个生成token的类

为开平等地区用户提供了全套网页设计制作服务,及开平网站建设行业解决方案。主营业务为成都做网站、网站建设、外贸营销网站建设、开平网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
package com.example.demo.controller;

import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;

public class CreateJwt {
   public static void main(String[] args) {
     //Jwts.builder()生成
     //Jwts.parser()验证
     JwtBuilder jwtBuilder =  Jwts.builder()
         .setId("123")
         .setSubject("梦阳")   //用户名
         .setIssuedAt(new Date())//登录时间
         .signWith(SignatureAlgorithm.HS256, "my-123").setExpiration(new Date(new Date().getTime()+60000))//设置过期时间
         .claim("role","admin"); //自定义属性
     //前三个为载荷playload 最后一个为头部 header
     System.out.println(jwtBuilder.compact());

   }

}

运行结果为:

eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA

三、新建一个类来解码刚刚生成的token

package com.example.demo.controller;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;

import java.text.SimpleDateFormat;

//token的解析
//有状态登录  服务器端保存用户信息
//无状态登录  服务器端没有保存用户信息  无状态效率比有状态效率高
public class PraseJwtTest {
   public static void main(String[] args) {
     Claims claims = Jwts.parser()
         .setSigningKey("my-123")
         //.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NjYiLCJzdWIiOiLlsI_pqawiLCJpYXQiOjE1NjMyODU2MTB9.iKtLy0T5ZzvzS2sjgcs5WyuM7cofmnzxzml7wicrTnA")
         .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMjMiLCJzdWIiOiLmoqbpmLMiLCJpYXQiOjE1ODIwMDM5MzIsImV4cCI6MTU4MjAwMzk5Miwicm9sZSI6ImFkbWluIn0.vN0pcBVNIixcqp6MsSmGWWVyCc4uOkTpcd8MUDHcn4A")
         .getBody();
     System.out.println("用户id:"+claims.getId());
     System.out.println("用户名:"+claims.getSubject());
     System.out.println("用户时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getIssuedAt()));System.out.println("过期时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getExpiration()));
     System.out.println("用户角色:"+claims.get("role"));
   }
}

运行结果为:
用户id:123
用户名:梦阳
用户时间:2020-02-18 13:32:12
过期时间:2020-02-18 13:33:12
用户角色:admin

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站栏目:如何在springboot运行token?-创新互联
文章源于:https://www.cdcxhl.com/article18/pgsgp.html

成都网站建设公司_创新互联,为您提供建站公司网站收录搜索引擎优化品牌网站设计网站策划营销型网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设