JWT学习笔记,cookie、localStorage 和 sessionStorage的区别

参考资料:

SpringBoot搭建教程

SpringCloud搭建教程

JWT视频教程

JWT官网

Vue视频教程

JWT视频参考资料、VUE视频资料,及前后端demo

特别有参考价值的JWT博客1

特别有参考价值的JWT博客2

cookie、localstorage和sessionStorage的区别1

cookie、localstorage和sessionStorage的区别2

cookie、localstorage和sessionStorage的区别3

VUE之基本部署及VScode常用插件

VUE之基本组成和使用

VUE之Bootstrap和Element-UI的使用

VUE之axios使用,跨域问题,拦截器添加Token

VUE之VueRouter页面跳转

VUE之JWT前后端分离认证,学生管理系统


cookie、localStorage 和 sessionStorage的区别:

  • 详细信息可以参照上述相关链接,这里仅对常用到的点进行区别
1.cookie和storage的区别
  • cookie是存储在浏览器中,主动参与http传输的技术
  • localStorage和SessionStorage同样存储在浏览器中,但是并不主动参与http传输,需要手动添加到http中才行
  • 所以,cookie相对较小,localStorage和SessionStorage可以很大
2.localstorage和sessionstorage
  • localstorage是本地存储,只要你的浏览器没有被卸载。这个数据库都是存在的。

    sessionstorage是会话存储,

    首先第一点,页面会话在浏览器打开期间一直保持,并且重新加载或恢复页面仍会保持原来的页面会话。

    这一点很好理解,只要浏览器 tab 页没有关闭,我们的 sessionStorage 就一直存在,也就是刷新并不会清楚 sessionStorage。 

3. cookie、localstorage和sessionstorage的查看
  • 以谷歌浏览器为例:F12,进入应用选项

 


JWT使用笔记:

  • JWT是用于认证的字符串,具体原理见上述demo中的学习笔记,下面只讲述怎么使用
  • 提供一个JWT工具类
        <!--引入jwt-->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.4.0</version>
        </dependency>

import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTCreator;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.interfaces.DecodedJWT;

import java.util.Calendar;
import java.util.Map;

public class JWTUtils {


    private static final String  SING = "!Q@W3e4r%T^Y";

    /**
     * 生成token  header.payload.sing
     */
    public static String getToken(Map<String,String> map){

        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.DATE,7);//默认7天过期

        //创建jwt builder
        JWTCreator.Builder builder = JWT.create();

        //payload
        map.forEach((k,v)->{
            builder.withClaim(k,v);
        });

        String token = builder.withExpiresAt(instance.getTime())//指定令牌过期时间
                .sign(Algorithm.HMAC256(SING));//sign
        return token;
    }

    /**
     * 验证token 合法性
     *
     */
    public static DecodedJWT verify(String token){
        return JWT.require(Algorithm.HMAC256(SING)).build().verify(token);
    }

//    /**
//     * 获取token信息方法
//     */
//    public static DecodedJWT getTokenInfo(String token){
//        DecodedJWT verify = JWT.require(Algorithm.HMAC256(SING)).build().verify(token);
//        return verify;
//    }
}

  •  认证的话,在拦截器中进行认证

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PH = 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值