2023/10/29总结

总结

踩坑记录

写代码的时候遇到了一个错误大概是这样的

java 复制代码
io.jsonwebtoken.security.WeakKeyException: The signing key's size is 48 bits which is not secure enough for the HS256 algorithm.  The JWT JWA Specification (RFC 7518, Section 3.2) states that keys used with HS256 MUST have a size >= 256 bits (the key size must be greater than or equal to the hash output size).  Consider using the io.jsonwebtoken.security.Keys class's 'secretKeyFor(SignatureAlgorithm.HS256)' method to create a key guaranteed to be secure enough for HS256.  See https://tools.ietf.org/html/rfc7518#section-3.2 for more information.
at io.jsonwebtoken.SignatureAlgorithm.assertValid(SignatureAlgorithm.java:387) ~[jjwt-api-0.11.2.jar:0.11.2]
at io.jsonwebtoken.SignatureAlgorithm.assertValidSigningKey(SignatureAlgorithm.java:315) ~[jjwt-api-0.11.2.jar:0.11.2]
at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:122) ~[jjwt-impl-0.11.2.jar:0.11.2]
at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:134) ~[jjwt-impl-0.11.2.jar:0.11.2]
at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:142) ~[jjwt-impl-0.11.2.jar:0.11.2]
at com.elm.utils.JwtUtils.getToken(JwtUtils.java:55) ~[classes/:na]
at com.elm.controller.UserController.setToken(UserController.java:159) ~[classes/:na]
at com.elm.controller.UserController.login(UserController.java:59) ~[classes/:na]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:578) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.9.jar:5.3.9]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.9.jar:5.3.9]

去查了资料 说是我的 签名太短了 ,设置长点就可以通过了

JWT出现了点问题

我在后端 的 response 的 header 设置了 token 但是前端就是没有获取到 ,然后 我又去查了资料

然后这样写就获取到了,代表后端把这个暴露出来给你给前端展示

写代码的时候发现还是跨域问题 然后在开发工具里面看 发现 每次发送请求都是 发送俩次的

当我在请求头里面加入上面说的 token 和 long_token 时,这个请求就变成了 一个非简单请求,然后浏览器就会进行预检------先发送一个请求 看是否跨域 再发送请求

预检的请求方法是 OPTIONS

然后我们就会这样写:

项目进度:

一直在画界面

相关推荐
小咪一会24 天前
JVM 基础
jvm·1024程序员节
空灵之海1 个月前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
阿啄debugIT1 个月前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
lzb_kkk2 个月前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao2 个月前
三维手眼标定
1024程序员节
guozhetao2 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk3 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk4 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk4 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment5 个月前
List介绍
1024程序员节