diff --git a/pom.xml b/pom.xml index baa2c8ab4cfc773f27b16995b182b54debf24e35..d028657f5f7bb9e97df7e026ffc8f057ec5fb5ed 100644 --- a/pom.xml +++ b/pom.xml @@ -29,10 +29,10 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> - <!-- <dependency>--> - <!-- <groupId>org.springframework.boot</groupId>--> - <!-- <artifactId>spring-boot-starter-security</artifactId>--> - <!-- </dependency>--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </dependency> <dependency> <groupId>com.h2database</groupId> diff --git a/src/main/java/hdm/mi/growbros/security/CustomUserDetailsService.java b/src/main/java/hdm/mi/growbros/security/CustomUserDetailsService.java new file mode 100644 index 0000000000000000000000000000000000000000..6992eec7ea2ee4cfe6724c64907fb6624125e3e2 --- /dev/null +++ b/src/main/java/hdm/mi/growbros/security/CustomUserDetailsService.java @@ -0,0 +1,24 @@ +package hdm.mi.growbros.security; + +import hdm.mi.growbros.models.user.User; +import hdm.mi.growbros.repositories.UserRepository; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +import java.util.Collections; + +//versorgt Spring mit dem User der überprüft werden soll +@Service +public class CustomUserDetailsService implements UserDetailsService { + + private UserRepository userRepository; + //user anhand der email (stellt Username dar) aus der DB holen + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + User user = userRepository.findByEmail(username).orElseThrow(() -> new UsernameNotFoundException("Dieser Nutzer wurde nicht gefunden")); + + return new org.springframework.security.core.userdetails.User(user.getEmail(),user.getPassword(), Collections.emptyList()); //empty list, weils noch keine Privilegien gibt + } +} diff --git a/src/main/java/hdm/mi/growbros/security/JwTokenProvider.java b/src/main/java/hdm/mi/growbros/security/JwTokenProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..554d3019f4f8e34bac54c90da9389e0f9909f5d1 --- /dev/null +++ b/src/main/java/hdm/mi/growbros/security/JwTokenProvider.java @@ -0,0 +1,19 @@ +package hdm.mi.growbros.security; + +import java.time.Instant; + +//Json Web Token wird zur Autorisierung verwendet +public class JwTokenProvider { + //Jw Token werden mit einem Schlüssel/ Passwort signiert -> so können unr wir überprüfen ob der Token gültig ist oder nicht + private String jwTSecret; + //generiert Token anhand der Email + public String generateToken(String userEmail) { + Instant now = Instant.now(); + String returnvalue = "hi"; + return returnvalue; + } + public boolean validateToken(String token) { + return true; + + } +}