我想调用 write 下面的代码来编写 Kotlin 中登录的集成测试:
@Test
fun userSignup() {
var result = this.mockMvc.perform(post("http://localhost/signup")
.content("{\"email\" : \"email\", " +
"\"username\" : \"username\", " +
"\"password\" : \"password\", " +
"\"userType\" : \"artist\"}")
.contentType(MediaType.APPLICATION_JSON)
.header("Authorization", Base64() )
)
.andExpect(status().isOk())
.andDo(MockMvcResultHandlers.print())
}
Run Code Online (Sandbox Code Playgroud)
但我收到 HTTP 状态 400,并显示错误消息:
“指定的密钥字节数组为 192 位,对于任何 JWT HMAC-SHA 算法来说都不够安全。JWT JWA 规范(RFC 7518,第 3.2 节)规定,与 HMAC-SHA 算法一起使用的密钥的大小必须 >= 256 位(密钥大小必须大于或等于哈希输出大小。)考虑使用 io.jsonwebtoken.security.Keys#secretKeyFor(SignatureAlgorithm) 方法来创建保证对您首选的 HMAC-SHA 算法足够安全的密钥。有关更多信息,请参阅https://tools.ietf.org/html/rfc7518#section-3.2 。”
我该如何解决这个错误?
我期待 Http 200 状态。此错误消息的级别太低,我在使用抽象库进行测试时不会看到它。