diff --git a/src/main/java/fr/organizee/security/JwtTokenProvider.java b/src/main/java/fr/organizee/security/JwtTokenProvider.java index 9ec508d..502f9a7 100644 --- a/src/main/java/fr/organizee/security/JwtTokenProvider.java +++ b/src/main/java/fr/organizee/security/JwtTokenProvider.java @@ -27,6 +27,8 @@ import io.jsonwebtoken.JwtException; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import fr.organizee.repository.MembreRepository; + /** * JWT : classe utilitaire chargée de fournir le Jeton (Token) et les vérifications */ @@ -44,6 +46,8 @@ public class JwtTokenProvider { @Autowired private UserDetailsService userDetailsService; + @Autowired + private MembreRepository membreRepo; /** * Cette méthode d'initialisation s'exécute avant le constructeur * Elle encode notre code secret en base64 pour la transmission dans le header @@ -104,6 +108,10 @@ public class JwtTokenProvider { public String createToken(String email, List roles){ Claims claims = Jwts.claims().setSubject(email); + claims.put("userId", membreRepo.findByEmail(email).get().getId()); + if(membreRepo.findByEmail(email).get().getTeam() != null){ + claims.put("teamId", membreRepo.findByEmail(email).get().getTeam().getId()); + } claims.put("auth", roles.stream().map(s -> new SimpleGrantedAuthority(s.getAuthority())).filter(Objects::nonNull).collect(Collectors.toList())); System.out.println("claims = "+claims);