From 15a4c526b485e3a0eba8e64a58ba004e4388c15c Mon Sep 17 00:00:00 2001 From: Filip Izydorczyk Date: Fri, 25 Sep 2020 17:01:38 +0200 Subject: [PATCH] access modifiers and constructors fix --- .../plannaplan/repositories/UserRepository.java | 3 +-- .../java/com/plannaplan/services/UserService.java | 3 ++- .../plannaplan/controllers/TokenController.java | 2 +- .../security/AuthenticationProvider.java | 14 +++----------- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/buisnesslogic/src/main/java/com/plannaplan/repositories/UserRepository.java b/buisnesslogic/src/main/java/com/plannaplan/repositories/UserRepository.java index 82f883d..150fc49 100755 --- a/buisnesslogic/src/main/java/com/plannaplan/repositories/UserRepository.java +++ b/buisnesslogic/src/main/java/com/plannaplan/repositories/UserRepository.java @@ -9,12 +9,11 @@ import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -//if result could be null, should we wrapped in optional @Repository public interface UserRepository extends JpaRepository { @Query("FROM User WHERE email = ?1") Optional getByAuthority(@Param("authority") String authority); @Query("FROM User WHERE token = ?1") - User getByToken(@Param("token") String token); + Optional getByToken(@Param("token") String token); } \ No newline at end of file diff --git a/buisnesslogic/src/main/java/com/plannaplan/services/UserService.java b/buisnesslogic/src/main/java/com/plannaplan/services/UserService.java index d17e148..3b3e070 100755 --- a/buisnesslogic/src/main/java/com/plannaplan/services/UserService.java +++ b/buisnesslogic/src/main/java/com/plannaplan/services/UserService.java @@ -1,5 +1,6 @@ package com.plannaplan.services; +import java.util.Optional; import java.util.UUID; import com.plannaplan.entities.User; @@ -38,7 +39,7 @@ public class UserService { } - public User getByToken(String token) { + public Optional getByToken(String token) { return this.repo.getByToken(token); } diff --git a/restservice/src/main/java/com/plannaplan/controllers/TokenController.java b/restservice/src/main/java/com/plannaplan/controllers/TokenController.java index f6ef1d1..fc3fdd9 100755 --- a/restservice/src/main/java/com/plannaplan/controllers/TokenController.java +++ b/restservice/src/main/java/com/plannaplan/controllers/TokenController.java @@ -24,7 +24,7 @@ public class TokenController { @GetMapping("/token") public ResponseEntity getToken(@RequestParam("ticket") final String ticket) { - CasValidator validator = new CasValidator(SERVICE_URL, ticket); + final CasValidator validator = new CasValidator(SERVICE_URL, ticket); try { String authority = validator.validate(); diff --git a/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java b/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java index 37a8139..adbe57a 100755 --- a/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java +++ b/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java @@ -31,19 +31,11 @@ public class AuthenticationProvider extends AbstractUserDetailsAuthenticationPro protected UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { - String token = authentication.getCredentials().toString(); - - User user = this.userService.getByToken(token); - - if (user == null) { - throw new UsernameNotFoundException("Cannot find user with authentication token=" + token); - } - + final String token = authentication.getCredentials().toString(); + User user = this.userService.getByToken(token) + .orElseThrow(() -> new UsernameNotFoundException("Cannot find user with given authority")); UserDetails response = new UserDetails() { - /** - * - */ private static final long serialVersionUID = 1L; @Override