Od jakiegoś czasu bawię się po pracy Kotlinem, a dzisiaj postanowiłem zamiast Springa spróbować Ktora. Wyklikałem parę rzeczy z GUI IntelliJ i gotowe, prosta aplikacja z REST API i zalążkiem security działa i odpala się w mniej niż sekundę. No ale trzeba to security zaimplementować, chociaż jakieś JWT niech tam się waliduje. Od razu przypomniałem sobie swoje pierwsze zmagania z konfiguracją JWT w Springu, tutaj brakło adnotacji, tutaj stringly typed path albo rola ma literówkę, a pod koniec okazuje się że jeden z 15 interfejsów które kazali Ci zaimplementować w tutorialu jest już deprecated. Ale po całym dniu w końcu jest, nawalone wszędzie niezrozumiałych konfiguracji i adnotacji i oczywiście strach to ruszyć, ale działa.
Trochę zniechęcony tą wizją zacząłem wertować dokumentacje i materiał dotyczące zrobienia tego samego w Ktorze... jak się zdziwiłem jak 15 minut później wszystko działało, a faktyczne linijki kodu potrzebne do konfiguracji security i zabezpieczenia endpointu mogę policzyć na palcach jednej ręki, pomijając oczywiście implementacje samego tworzenia / walidacji tokena, która nie leży po stronie Springa / Ktora.
install(Authentication) {
jwt {
verifier(jwtConfig.verifier)
validate {
it.payload.getClaim("username").asString()?.let(userRepository::find)
}
}
}
routing {
authenticate {
get("/protected") {
call.respond("hello from protected api")
}
}
}
Może mam obecnie nieco więcej doświadczenia niż gdy pierwszy raz podchodziłem do tematu w Springu, aczkolwiek różnice w skomplikowaniu czy też ilości boilerplate kodu widać gołym okiem, dla porównania pierwszy lepszy tutorial z serii "spring jwt auth" https://auth0.com/blog/implementing-jwt-authentication-on-spring-boot/.
Well done JetBrains.
Z doświadczenia wiem, że jak przyzwyczaisz klienta do pewnego poziomu pracy to potem...
MDC?
MDC?
Studia traktowałem jak zabawę, w efekcie straciłem kilka lat, nic się nie nauczyłem...
Emdzej93 napisał(a): Emdzej93 napisał(a): Emdzej93 napisał(a): Krótkie podsumowanie...
Z doświadczenia wiem, że jak przyzwyczaisz klienta do pewnego poziomu pracy to potem...
Z doświadczenia wiem, że jak przyzwyczaisz klienta do pewnego poziomu pracy to potem...
Z doświadczenia wiem, że jak przyzwyczaisz klienta do pewnego poziomu pracy to potem...
Z doświadczenia wiem, że jak przyzwyczaisz klienta do pewnego poziomu pracy to potem...
Emdzej93 napisał(a): Emdzej93 napisał(a): Emdzej93 napisał(a): Krótkie podsumowanie...
CRUDs are so exciting