2023/10/29总结

总结

踩坑记录

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

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 但是前端就是没有获取到  ,然后 我又去查了资料

2023/10/29总结_第1张图片

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

2023/10/29总结_第2张图片

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

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

预检的请求方法是 OPTIONS 

然后我们就会这样写:

 

项目进度:

一直在画界面

2023/10/29总结_第3张图片

2023/10/29总结_第4张图片

2023/10/29总结_第5张图片

2023/10/29总结_第6张图片

2023/10/29总结_第7张图片

2023/10/29总结_第8张图片

2023/10/29总结_第9张图片

你可能感兴趣的:(1024程序员节)