diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..aa2e337 Binary files /dev/null and b/.DS_Store differ diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000..741d247 Binary files /dev/null and b/src/.DS_Store differ diff --git a/src/main/java/com/bezkoder/springjwt/controllers/AuthController.java b/src/main/java/com/bezkoder/springjwt/controllers/AuthController.java index e598702..f6b5bff 100644 --- a/src/main/java/com/bezkoder/springjwt/controllers/AuthController.java +++ b/src/main/java/com/bezkoder/springjwt/controllers/AuthController.java @@ -32,7 +32,7 @@ import com.bezkoder.springjwt.security.jwt.JwtUtils; import com.bezkoder.springjwt.security.services.UserDetailsImpl; -@CrossOrigin(origins = "*", maxAge = 3600) +@CrossOrigin(origins = "*") @RestController @RequestMapping("/api/auth") public class AuthController { @@ -74,21 +74,21 @@ public ResponseEntity authenticateUser(@Valid @RequestBody LoginRequest login @PostMapping("/signup") public ResponseEntity registerUser(@Valid @RequestBody SignupRequest signUpRequest) { - if (userRepository.existsByUsername(signUpRequest.getUsername())) { + if (userRepository.existsByNom(signUpRequest.getNom())) { return ResponseEntity .badRequest() .body(new MessageResponse("Error: Username is already taken!")); } - if (userRepository.existsByEmail(signUpRequest.getEmail())) { + if (userRepository.existsByUsername(signUpRequest.getUsername())) { return ResponseEntity .badRequest() .body(new MessageResponse("Error: Email is already in use!")); } // Create new user's account - User user = new User(signUpRequest.getUsername(), - signUpRequest.getEmail(), + User user = new User(signUpRequest.getNom(), + signUpRequest.getUsername(), encoder.encode(signUpRequest.getPassword())); Set strRoles = signUpRequest.getRole(); diff --git a/src/main/java/com/bezkoder/springjwt/models/User.java b/src/main/java/com/bezkoder/springjwt/models/User.java index 6e3eaa2..3e297e8 100644 --- a/src/main/java/com/bezkoder/springjwt/models/User.java +++ b/src/main/java/com/bezkoder/springjwt/models/User.java @@ -9,81 +9,138 @@ import javax.validation.constraints.Size; @Entity -@Table( name = "users", - uniqueConstraints = { - @UniqueConstraint(columnNames = "username"), - @UniqueConstraint(columnNames = "email") - }) +@Table(name = "user") public class User { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @NotBlank - @Size(max = 20) - private String username; - - @NotBlank - @Size(max = 50) - @Email - private String email; - - @NotBlank - @Size(max = 120) - private String password; - - @ManyToMany(fetch = FetchType.LAZY) - @JoinTable( name = "user_roles", - joinColumns = @JoinColumn(name = "user_id"), - inverseJoinColumns = @JoinColumn(name = "role_id")) - private Set roles = new HashSet<>(); - - public User() { - } + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String username; + + private String nom; + + private String nickname; + + private String server; + + //Modos ---> Fer una taula que tingui id i el modo (1-4) que vol jugar + private Boolean modo_flex; + + private Boolean modo_duo; + + private Boolean modo_clash; + + private Boolean modo_otro; + + //Tipos ---> Fer una taula que tingui id i el modo (1-5) que vol jugar + private Boolean tipo_4fun; + + private Boolean tipo_tryhard; + + private Boolean tipo_champs; + + private Boolean tipo_otps; + + private Boolean rol_jungle; + + //Rols ---> Fer una taula que tingui id i el modo (1-5) que vol jugar + private Boolean rol_top; + + private Boolean rol_mid; + + private Boolean rol_bot; + + private Boolean rol_supp; + + private Boolean rol_fill; + + // Suposo que faltaria una pels personatges + + private String password; + + - public User(String username, String email, String password) { + @Transient + private String passwordConfirm; + + + public User() {} + + + public User(String nom, String username, String password) { + this.nom = nom; this.username = username; - this.email = email; this.password = password; } - public Long getId() { - return id; - } - public void setId(Long id) { - this.id = id; - } + @ManyToMany + private Set roles; - public String getUsername() { - return username; - } + public Long getId() { + return id; + } - public void setUsername(String username) { - this.username = username; - } + public void setId(Long id) { + this.id = id; + } - public String getEmail() { - return email; - } + public String getNom() { + return nom; + } - public void setEmail(String email) { - this.email = email; - } + public void setNom(String nom) { + this.nom = nom; + } + public String getUsername() { + return username; + } - public String getPassword() { - return password; - } + public void setUsername(String username) { + this.username = username; + } - public void setPassword(String password) { - this.password = password; - } + public String getNickname() { + return nickname; + } - public Set getRoles() { - return roles; - } + public void setNickname(String nickname) { + this.nickname = nickname; + } - public void setRoles(Set roles) { - this.roles = roles; - } + public String getServer() { + return server; + } + + public void setServer(String server) { + this.server = server; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getPasswordConfirm() { + return passwordConfirm; + } + + public void setPasswordConfirm(String passwordConfirm) { + this.passwordConfirm = passwordConfirm; + } + + public Set getRoles() { + return roles; + } + + public void setRoles(Set roles) { + this.roles = roles; + } + @Override + public String toString() { + return "User{" + "id=" + id + ", name=" + nom + ", email=" + username + ", server=" + server + ", nickname=" + nickname + '}'; + } } diff --git a/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.java b/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.java index 515e0a5..069fcbb 100644 --- a/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.java +++ b/src/main/java/com/bezkoder/springjwt/payload/request/SignupRequest.java @@ -7,12 +7,12 @@ public class SignupRequest { @NotBlank @Size(min = 3, max = 20) - private String username; + private String nom; @NotBlank @Size(max = 50) @Email - private String email; + private String username; private Set role; @@ -20,20 +20,20 @@ public class SignupRequest { @Size(min = 6, max = 40) private String password; - public String getUsername() { - return username; + public String getNom() { + return nom; } - public void setUsername(String username) { - this.username = username; + public void setNom(String nom) { + this.nom = nom; } - public String getEmail() { - return email; + public String getUsername() { + return username; } - public void setEmail(String email) { - this.email = email; + public void setUsername(String username) { + this.username = username; } public String getPassword() { diff --git a/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.java b/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.java index 35ae5a4..27676c0 100644 --- a/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.java +++ b/src/main/java/com/bezkoder/springjwt/payload/response/JwtResponse.java @@ -7,14 +7,14 @@ public class JwtResponse { private String type = "Bearer"; private Long id; private String username; - private String email; + private String nom; private List roles; - public JwtResponse(String accessToken, Long id, String username, String email, List roles) { + public JwtResponse(String accessToken, Long id, String nom, String username, List roles) { this.token = accessToken; this.id = id; this.username = username; - this.email = email; + this.nom = nom; this.roles = roles; } @@ -42,12 +42,12 @@ public void setId(Long id) { this.id = id; } - public String getEmail() { - return email; + public String getNom() { + return nom; } - public void setEmail(String email) { - this.email = email; + public void setNom(String nom) { + this.nom = nom; } public String getUsername() { diff --git a/src/main/java/com/bezkoder/springjwt/repository/UserRepository.java b/src/main/java/com/bezkoder/springjwt/repository/UserRepository.java index 74f2df9..0e4b8e4 100644 --- a/src/main/java/com/bezkoder/springjwt/repository/UserRepository.java +++ b/src/main/java/com/bezkoder/springjwt/repository/UserRepository.java @@ -11,7 +11,7 @@ public interface UserRepository extends JpaRepository { Optional findByUsername(String username); - Boolean existsByUsername(String username); + Boolean existsByNom(String username); - Boolean existsByEmail(String email); + Boolean existsByUsername(String username); } diff --git a/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.java b/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.java index 405cf6b..7a58b39 100644 --- a/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.java +++ b/src/main/java/com/bezkoder/springjwt/security/WebSecurityConfig.java @@ -3,6 +3,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @@ -51,7 +52,7 @@ public AuthenticationManager authenticationManagerBean() throws Exception { public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } - + @Override protected void configure(HttpSecurity http) throws Exception { http.cors().and().csrf().disable() @@ -62,5 +63,8 @@ protected void configure(HttpSecurity http) throws Exception { .anyRequest().authenticated(); http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); + + + } } diff --git a/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.java b/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.java index fafc5a9..36b517c 100644 --- a/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.java +++ b/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsImpl.java @@ -26,11 +26,10 @@ public class UserDetailsImpl implements UserDetails { private Collection authorities; - public UserDetailsImpl(Long id, String username, String email, String password, + public UserDetailsImpl(Long id, String username, String password, Collection authorities) { this.id = id; this.username = username; - this.email = email; this.password = password; this.authorities = authorities; } @@ -43,7 +42,6 @@ public static UserDetailsImpl build(User user) { return new UserDetailsImpl( user.getId(), user.getUsername(), - user.getEmail(), user.getPassword(), authorities); } diff --git a/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.java b/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.java index 9a3ed41..41d5a0d 100644 --- a/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.java +++ b/src/main/java/com/bezkoder/springjwt/security/services/UserDetailsServiceImpl.java @@ -17,9 +17,9 @@ public class UserDetailsServiceImpl implements UserDetailsService { @Override @Transactional - public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { - User user = userRepository.findByUsername(username) - .orElseThrow(() -> new UsernameNotFoundException("User Not Found with username: " + username)); + public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { + User user = userRepository.findByUsername(email) + .orElseThrow(() -> new UsernameNotFoundException("User Not Found with username: " + email)); return UserDetailsImpl.build(user); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d02fe7a..7f3daeb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ -spring.datasource.url= jdbc:mysql://localhost:3306/testdb?useSSL=false +spring.datasource.url= jdbc:mysql://localhost:3306/Matcher?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.username= root -spring.datasource.password= 123456 +spring.datasource.password= dj1932001 spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.hibernate.ddl-auto= update