Estou tendo problemas com a variavel secret se declarar ela como lateinit na classe JWTUtil.
No arquivo application.properties:
jwt.secret=2a12Dpr9yBjZksrrC34hnQEG1uDyF5HKckz3Cob4j5md1Jl3jXPF1ejzi
Na classe JWTUtil:
@Value("\${jwt.secret}")
private lateinit var secret: String
Mas ao tentar fazer o login, dá exception:
2024-08-29 17:12:21.097 ERROR 16152 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
kotlin.UninitializedPropertyAccessException: lateinit property secret has not been initialized
at br.com.alura.forum.config.JWTUtil.generateToken(JWTUtil.kt:24) ~[classes/:na]
at br.com.alura.forum.security.JWTLoginFilter.successfulAuthentication(JWTLoginFilter.kt:36) ~[classes/:na]
Entretanto, se eu declarar secret não sendo lateinit, funciona.
private var secret: String = "2a12Dpr9yBjZksrrC34hnQEG1uDyF5HKckz3Cob4j5md1Jl3jXPF1ejzi"
Funcionar, funciona, mas eu não queria deixar o secret em hardcoded