From a87edd172ba8ce427f7e552fee1f0de4552eeb10 Mon Sep 17 00:00:00 2001 From: Bharath Bhushan Date: Thu, 21 Mar 2024 19:24:35 +0530 Subject: [PATCH] fixed issue of duplicate user creation and 403 authorization error --- .../alibou/security/auth/AuthenticationService.java | 11 +++++++++-- .../java/com/alibou/security/user/UserRepository.java | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibou/security/auth/AuthenticationService.java b/src/main/java/com/alibou/security/auth/AuthenticationService.java index 53193a7..8e76159 100644 --- a/src/main/java/com/alibou/security/auth/AuthenticationService.java +++ b/src/main/java/com/alibou/security/auth/AuthenticationService.java @@ -39,10 +39,17 @@ public AuthenticationResponse register(RegisterRequest request) { .password(passwordEncoder.encode(request.getPassword())) .role(request.getRole()) .build(); - var savedUser = repository.save(user); + + if(!repository.existsCurrentAccountByEmail(request.getEmail())) + { + var savedUser = repository.save(user); + var jwtToken = jwtService.generateToken(user); + saveUserToken(savedUser, jwtToken); + } + var jwtToken = jwtService.generateToken(user); var refreshToken = jwtService.generateRefreshToken(user); - saveUserToken(savedUser, jwtToken); + return AuthenticationResponse.builder() .accessToken(jwtToken) .refreshToken(refreshToken) diff --git a/src/main/java/com/alibou/security/user/UserRepository.java b/src/main/java/com/alibou/security/user/UserRepository.java index a979ad6..4a67cd8 100644 --- a/src/main/java/com/alibou/security/user/UserRepository.java +++ b/src/main/java/com/alibou/security/user/UserRepository.java @@ -7,4 +7,6 @@ public interface UserRepository extends JpaRepository { Optional findByEmail(String email); + boolean existsCurrentAccountByEmail(String email); + }