您现在的位置是:首页 > 后台技术 > JavaJava

JWT的使用(图文)

第十三双眼睛2021-09-06【Java】人已围观

简介Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密

关于session和jwt的对比,就不多说了,自己去百度即可,或者等自己学到一定程度了,自己就能想到,这里主要记录以下怎么使用,以便在以后需要用的时候,快速找到代码段。
要使用JWT,首先要在项目中引入依赖,以最为常见的maven项目来说
引入依赖
<dependency>
      <groupId>com.auth0</groupId>
      <artifactId>java-jwt</artifactId>
      <version>3.4.0</version>
</dependency>
2使用包括创建token 和校验token
public static String getToken(){
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.SECOND, 200);
        Map<String,Object> map = new HashMap<String,Object>();
        String token = JWT.create()
            .withHeader(map)
            .withClaim("id", 1)
            .withClaim("name", "zyb")
            .withExpiresAt(calendar.getTime())
            .sign(Algorithm.HMAC256("qewrt"));
        return token;
}
验证token
public static void verigy(String token) {
        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("qewrt")).build();
        DecodedJWT verify = jwtVerifier.verify(token);
        Claim claim = verify.getClaim("id");
        Claim name = verify.getClaim("name");
        System.out.println(claim.asInt());
        System.out.println(name.asString());
}
结果如下图:




 

Tags:JWT   JSON WEB TOKEN

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 网站名称:JavaStudy
  • 建站时间:2019-1-14
  • 网站程序:帝国CMS7.5
  • 文章统计108篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们