Changeset 62acea2
- Timestamp:
- 01/26/26 12:25:25 (6 months ago)
- Branches:
- main
- Children:
- 335fee0
- Parents:
- 561e9a6
- Location:
- finkwave/src/main/java/com/ukim/finki/develop/finkwave
- Files:
-
- 2 edited
-
model/User.java (modified) (1 diff)
-
service/AuthService.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/User.java
r561e9a6 r62acea2 5 5 6 6 import jakarta.persistence.*; 7 import lombok.Getter; 8 import lombok.NoArgsConstructor; 9 import lombok.Setter; 7 import lombok.*; 10 8 11 9 @Setter 12 10 @Getter 13 11 @Entity 12 @Builder 14 13 @NoArgsConstructor 14 @AllArgsConstructor 15 15 @Table(name = "users") 16 16 @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/service/AuthService.java
r561e9a6 r62acea2 29 29 private final int refreshTokenMaxAge = 10 * 24 * 60 * 60; 30 30 31 // todo: should it be transactional? 32 // @Transactional 31 33 32 public UserResponseDto registerAndLogIn(HttpServletResponse response, AuthRequestDto authRequestDto){ 34 33 if (userRepository.findByUsername(authRequestDto.username()).isPresent()){ 35 34 throw new RuntimeException("User already exists"); 36 35 } 37 User user = new User(); 38 39 // todo: builder / private createUser method 40 user.setUsername(authRequestDto.username()); 41 user.setRole(Role.NONADMIN); 42 user.setFullName(authRequestDto.fullname()); 43 user.setProfilePhoto(authRequestDto.profilePhoto()); 44 user.setEmail(authRequestDto.email()); 45 user.setPassword(passwordEncoder.encode(authRequestDto.password())); 46 NonAdminUser nonAdminUser = new NonAdminUser(); 47 nonAdminUser.setUser(user); 48 user.setNonAdminUser(nonAdminUser); 49 nonAdminUserRepository.save(nonAdminUser); 50 userRepository.save(user); 36 createNonAdminUser(authRequestDto); 51 37 // todo: could also be redirect in controller, which one is better? 52 return login(response, new LoginRequestDto( user.getUsername(), authRequestDto.password()));38 return login(response, new LoginRequestDto(authRequestDto.username(), authRequestDto.password())); 53 39 } 54 55 40 56 41 // todo: dto in arguments or the standalone values? … … 103 88 if (refreshToken != null){ 104 89 invalidateRefreshToken(refreshToken); 105 Cookie clearCookie = new Cookie("refreshToken", null); 106 clearCookie.setHttpOnly(true); 107 clearCookie.setSecure(false); 108 clearCookie.setPath("/"); 109 clearCookie.setMaxAge(0); 110 httpServletResponse.addCookie(clearCookie); 90 clearCookieByName(httpServletResponse, "refreshToken"); 111 91 } 92 clearCookieByName(httpServletResponse, "accessToken"); 93 } 112 94 113 Cookie clearAccess = new Cookie("accessToken", null); 95 // todo: should it be transactional? 96 // @Transactional 97 private void createNonAdminUser(AuthRequestDto authRequestDto){ 98 User user = User.builder() 99 .fullName(authRequestDto.fullname()) 100 .username(authRequestDto.username()) 101 .email(authRequestDto.email()) 102 .profilePhoto(authRequestDto.profilePhoto()) 103 .password(passwordEncoder.encode(authRequestDto.password())) 104 .role(Role.NONADMIN) 105 .build(); 106 107 NonAdminUser nonAdminUser = new NonAdminUser(); 108 nonAdminUser.setUser(user); 109 user.setNonAdminUser(nonAdminUser); 110 nonAdminUserRepository.save(nonAdminUser); 111 userRepository.save(user); 112 } 113 114 private void clearCookieByName(HttpServletResponse response, String cookieName){ 115 Cookie clearAccess = new Cookie(cookieName, null); 114 116 clearAccess.setHttpOnly(true); 115 117 clearAccess.setSecure(false); 116 118 clearAccess.setPath("/"); 117 119 clearAccess.setMaxAge(0); 118 httpServletResponse.addCookie(clearAccess);120 response.addCookie(clearAccess); 119 121 } 120 122 … … 122 124 private void addTokensToResponse(HttpServletResponse response, RefreshToken refreshToken, String accessToken){ 123 125 Cookie refreshCookie = new Cookie("refreshToken", refreshToken.getToken()); 126 refreshCookie.setHttpOnly(true); 124 127 refreshCookie.setSecure(false); 125 refreshCookie.setHttpOnly(true);126 128 refreshCookie.setPath("/"); 127 129 refreshCookie.setMaxAge(refreshTokenMaxAge);
Note:
See TracChangeset
for help on using the changeset viewer.
