登录token获取token详细
1.jwt创建token
String token = JWT.create()
.setPayload("userId", one.getUserId())
.setSigner(JWTSignerUtil.none())
.sign();
System.err.println(token);
2.前端接受后端token
onSubmit(){
this.axios.post("http://localhost:8003/user/login",this.userFrom).then(r=>{
console.log(r.data.data)
if (r.data.code!=200){
this.$message.error(r.data.msg)
}else{
this.$message.success("登陆成功")
sessionStorage.setItem("token",r.data.data)
this.$router.push("/stock")
}
})
},
3.main.js 加入拦截器
axios.interceptors.request.use(function (config) {
let token = sessionStorage.getItem("token");
if (token!=null){
config.headers.token=token;
}
return config;
},
function (error) {
return Promise.reject(error);
});
4.后端加入jwtutil工具类
package com.huawei.config;
import cn.hutool.jwt.JWT;
import javax.servlet.http.HttpServletRequest;
public class JwtUtils {
public static Long GetUserIdByToken(HttpServletRequest request){
String token = request.getHeader("token");
if (token != null) {
final JWT jwt = cn.hutool.jwt.JWTUtil.parseToken(token);
String userId = jwt.getPayload("userId").toString();
return Long.valueOf(userId);
}
return null;
}
}
5.获取token里的值
@Autowired
HttpServletRequest request;
@PostMapping("stockOk")
public R stockOk(@RequestBody TStockCopy tStockCopy){
Long aLong = JwtUtils.GetUserIdByToken(request);
System.err.println(aLong);
return R.successed(null);
}