后台SpringBoot
-
引入依赖:
-
加入工具类TokenUtils生成Token,genToken这个方法主要是根据用户的信息生成token的,这个token里面存储了userId,使用用户密码进行加密,默认的过期时间是1天。
<!-- JWT -->
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.4.0</version>
</dependency>
-
在UserController的Login方法中使用
// 生成token String token = TokenUtils.genToken(res); res.setToken(token);
-
可以加个拦截器,拦截除了注册登录外所有的请求,然后进入自己定义的AuthInterceptor类中验证token的合法性
以上就是后台全部的配置了。
可以自定义一个BaseController来获取请求中的token,得到用户信息,任何继承BaseController的Controller都可以通过这个getUser的方法获取用户信息。
前端Vue配置
-
在request.js的拦截器里面,请求的时候设置请求头token,这个token值是在用户登录的方法里后端返回出来的,跟随用户信息一起存进了浏览器的SessionStorage里面。注意,这里排除了 登录和注册这2个请求,因为他们不会携带token。
-
在请求返回的拦截器里,对返回数据的code进行判断,如果token验证不合法,后台会返回401的错误,那么我们可以针对这个错误码进行单独处理,发现401就让用户重新登录。
以上就是JWT前台的配置。
配置完这些,项目就集成了JWT了。