From 4ae6486ea6454fc691dd84e46f1342d605bd3ad7 Mon Sep 17 00:00:00 2001 From: Marcus Fifth Date: Wed, 9 Jun 2021 18:21:21 +0200 Subject: [PATCH] first commit --- .DS_Store | Bin 0 -> 8196 bytes src/.DS_Store | Bin 0 -> 6148 bytes .../springjwt/controllers/AuthController.java | 10 +- .../com/bezkoder/springjwt/models/User.java | 181 ++++++++++++------ .../payload/request/SignupRequest.java | 20 +- .../payload/response/JwtResponse.java | 14 +- .../springjwt/repository/UserRepository.java | 4 +- .../springjwt/security/WebSecurityConfig.java | 6 +- .../security/services/UserDetailsImpl.java | 4 +- .../services/UserDetailsServiceImpl.java | 6 +- src/main/resources/application.properties | 4 +- 11 files changed, 154 insertions(+), 95 deletions(-) create mode 100644 .DS_Store create mode 100644 src/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..aa2e33702b3119cccbfced3af3e0861fbbfc801a GIT binary patch literal 8196 zcmeHMJ#W)M7=Et_kO~QP?1JP!kVu`vhN;ql0R}3uu;4guQgC9^x} zpAP{J#?a!-pnh~<(k%e6iDf--zQ!lOz+z}|W)Kn#WlVv_RM{3o8FQ=$Rxh+TGic07 z+2%vp$jWvoN=JwPK&z7q4azJG2m|vBaPQuv4h?CS3a@`(Ieq2I##yh|PqRMOT1P*> zsOZ**JHC9dRGyEVZv$6gY2uFQIZeE{^y#51bK|}{ecAoqE#qq2adsZJPVU8}9~^fT z_3l$b1^#wvg4*}}3>x?AwcK33rXP=NE;at#td?u~`GuTclXPV?y_;sS<(waD%y;LP z9;}8Zrqx3|G0q1S{r469Ym`$4y$&5>PJL~~SAy$(l^)O*V)p1Buv6oo^Lg#$a~rJY zv}ZYOQyx-a|8{mel%m>ceKwk1HygeJ>$%!PZ9AwmfyM|`7x4NNznGyj9uw?f zgdNEdGr{`u*vAzn8t@DzD|}%$)eUDit(Jdh9G<|JmAH4qw@2j@p_HEAm-ABZs#iIj z(p6N-J3K^1MI|@vrI(wh>u31+ZPk~X=d+VCPtS*Yzb?}8bAH1)%Mb=GE&~md`a1Xj zTZ_N{U)%yEb74Rj_#*?V+1u`ILQO4D9u>6N1&I72j aO=xju5Gxq}{6oN5=OXWa&A&{SlY!s+F<)B% literal 0 HcmV?d00001 diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..741d247050cb2a98e8431d57e0990df3ccce77eb GIT binary patch literal 6148 zcmeHKF;2rk5Znb9mS|E^-V;cb)oZC04c_i2)%2*#a}3qXsMXlJrY}3lnBAD zbT^xu+gp3A+}??Z&L3A(k%@?uXhfwmVjLc&4)SD@$~D$E)5TTWY(^IOtwVhFLK?Z0 zJGmb||M^LuYudVAuG=NX%JlX$d!0R>4*Au${N}c&jaCRn-mP5AgKUR+l{t1?Kkv(X zFK>=*+I`+JevsF`GgF6!0--=C5DNTb1yHkT<&k6bp+G1Q3hWf%{*cg!RmRTIwhnZ5 z1ppQpHiOT*1Y=UhDr4se2Bsbg^ia)L49!PW^>FZ2p5HloxTs~uIyv*_=ih4cf$IAhQG|{C4WCXyigz%_=5^)Q7`H_UM$zvFR#d2o6s)MXq?y4 pfx)*@475^=AKXWdjdVWI2VZ6E9Jva|EgTpJ0TU#;P~Zm?_yCPLMs)xH literal 0 HcmV?d00001 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