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

然后我们就会这样写:

项目进度:

一直在画界面

相关推荐
阿啄debugIT1 天前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
lzb_kkk1 个月前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao1 个月前
三维手眼标定
1024程序员节
guozhetao1 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk2 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk3 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk3 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment4 个月前
List介绍
1024程序员节
开利网络4 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo4 个月前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮