From 058a5b5a434d1ab159d5a9d4383c691b88d00ac4 Mon Sep 17 00:00:00 2001 From: Dejan Zdravkovic Date: Tue, 17 Feb 2026 19:36:06 +0100 Subject: [PATCH 1/6] use opaque code instead of jwt for token sent via email --- backend/spring-boot/.run/AllTests.run.xml | 13 +--- backend/spring-boot/.run/DataTests.run.xml | 17 ----- .../spring-boot/.run/IntegrationTests.run.xml | 7 +- backend/spring-boot/.run/UnitTests.run.xml | 3 +- .../admin/service/impl/UserServiceImpl.java | 4 +- .../api/auth/controller/AuthController.java | 2 +- .../JwtEmail.java => email/AuthEmail.java} | 4 +- .../api/auth/email/AuthEmailPurpose.java | 6 ++ .../api/auth/email/AuthEmailSupplier.java | 21 ++++++ .../OnSendAuthEmail.java} | 11 ++- .../OnSendAuthEmailListener.java} | 12 ++-- .../ResetPasswordAuthEmail.java} | 4 +- .../VerificationAuthEmail.java} | 4 +- .../jwt/event/email/JwtEmailSupplier.java | 23 ------ .../impl/ResetPasswordTokenServiceImpl.java | 71 ------------------- .../impl/VerificationTokenServiceImpl.java | 53 -------------- .../api/auth/oauth2/OAuth2SuccessHandler.java | 4 +- .../redis/model/AccessTokenBlacklist.java | 2 +- .../redis/model/RefreshTokenStore.java | 2 +- .../redis/model/ResetPasswordTokenStore.java | 25 +++++++ .../{jwt => }/redis/model/UserBlacklist.java | 2 +- .../redis/model/VerificationTokenStore.java | 25 +++++++ .../AccessTokenBlacklistRepository.java | 4 +- .../RefreshTokenStoreRepository.java | 4 +- .../ResetPasswordTokenStoreRepository.java | 7 ++ .../repository/UserBlacklistRepository.java | 4 +- .../VerificationTokenStoreRepository.java | 7 ++ .../bugzkit/api/auth/security/JWTFilter.java | 4 +- .../{jwt => }/service/AccessTokenService.java | 2 +- .../service/RefreshTokenService.java | 2 +- .../service/ResetPasswordTokenService.java | 4 +- .../service/VerificationTokenService.java | 4 +- .../service/impl/AccessTokenServiceImpl.java | 16 ++--- .../auth/service/impl/AuthServiceImpl.java | 18 ++--- .../auth/service/impl/DeviceServiceImpl.java | 4 +- .../service/impl/RefreshTokenServiceImpl.java | 12 ++-- .../impl/ResetPasswordTokenServiceImpl.java | 52 ++++++++++++++ .../impl/VerificationTokenServiceImpl.java | 51 +++++++++++++ .../api/auth/{jwt => }/util/JwtUtil.java | 6 +- .../bugzkit/api/shared/config/DataInit.java | 8 +++ .../user/service/impl/ProfileServiceImpl.java | 6 +- .../admin/integration/UserControllerIT.java | 2 +- .../data/RefreshTokenStoreRepositoryIT.java | 4 +- .../auth/integration/AuthControllerIT.java | 58 ++++++++++++++- .../auth/unit/OAuth2SuccessHandlerTest.java | 4 +- ...iceTest.java => AuthEmailServiceTest.java} | 2 +- .../user/integration/UserControllerIT.java | 2 +- .../src/lib/models/auth/jwt-payload.ts | 4 +- .../user/(components)/activate-dialog.svelte | 2 +- .../(components)/change-roles-dialog.svelte | 2 +- .../user/(components)/lock-dialog.svelte | 2 +- .../auth/reset-password/+page.server.ts | 10 +-- 52 files changed, 341 insertions(+), 281 deletions(-) delete mode 100644 backend/spring-boot/.run/DataTests.run.xml rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt/event/email/JwtEmail.java => email/AuthEmail.java} (82%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/email/AuthEmailPurpose.java create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/email/AuthEmailSupplier.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt/event/OnSendJwtEmail.java => email/OnSendAuthEmail.java} (57%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt/event/listener/OnSendJwtEmailListener.java => email/OnSendAuthEmailListener.java} (62%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt/event/email/ResetPasswordEmail.java => email/ResetPasswordAuthEmail.java} (92%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt/event/email/VerificationEmail.java => email/VerificationAuthEmail.java} (92%) delete mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/jwt/event/email/JwtEmailSupplier.java delete mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/jwt/service/impl/ResetPasswordTokenServiceImpl.java delete mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/jwt/service/impl/VerificationTokenServiceImpl.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/model/AccessTokenBlacklist.java (92%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/model/RefreshTokenStore.java (94%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/redis/model/ResetPasswordTokenStore.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/model/UserBlacklist.java (94%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/redis/model/VerificationTokenStore.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/repository/AccessTokenBlacklistRepository.java (59%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/repository/RefreshTokenStoreRepository.java (75%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/redis/repository/ResetPasswordTokenStoreRepository.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/redis/repository/UserBlacklistRepository.java (57%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/redis/repository/VerificationTokenStoreRepository.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/AccessTokenService.java (87%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/RefreshTokenService.java (88%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/ResetPasswordTokenService.java (68%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/VerificationTokenService.java (68%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/impl/AccessTokenServiceImpl.java (84%) rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/service/impl/RefreshTokenServiceImpl.java (86%) create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/service/impl/ResetPasswordTokenServiceImpl.java create mode 100644 backend/spring-boot/src/main/java/org/bugzkit/api/auth/service/impl/VerificationTokenServiceImpl.java rename backend/spring-boot/src/main/java/org/bugzkit/api/auth/{jwt => }/util/JwtUtil.java (91%) rename backend/spring-boot/src/test/java/org/bugzkit/api/shared/unit/{EmailServiceTest.java => AuthEmailServiceTest.java} (97%) diff --git a/backend/spring-boot/.run/AllTests.run.xml b/backend/spring-boot/.run/AllTests.run.xml index 683a9086..2f053439 100644 --- a/backend/spring-boot/.run/AllTests.run.xml +++ b/backend/spring-boot/.run/AllTests.run.xml @@ -12,17 +12,8 @@