Merge pull request #27 from HediMjid/jwt-claim

jwt : ajout du userId et du teamId dans le token
This commit is contained in:
Hédi 2022-02-10 12:40:53 +01:00 committed by GitHub
commit 5b6ccff43d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 0 deletions

View File

@ -27,6 +27,8 @@ import io.jsonwebtoken.JwtException;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SignatureAlgorithm;
import fr.organizee.repository.MembreRepository;
/** /**
* JWT : classe utilitaire chargée de fournir le Jeton (Token) et les ©rifications * JWT : classe utilitaire chargée de fournir le Jeton (Token) et les ©rifications
*/ */
@ -44,6 +46,8 @@ public class JwtTokenProvider {
@Autowired @Autowired
private UserDetailsService userDetailsService; private UserDetailsService userDetailsService;
@Autowired
private MembreRepository membreRepo;
/** /**
* Cette ©thode d'initialisation s'exécute avant le constructeur * Cette ©thode d'initialisation s'exécute avant le constructeur
* Elle encode notre code secret en base64 pour la transmission dans le header * 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<Role> roles){ public String createToken(String email, List<Role> roles){
Claims claims = Jwts.claims().setSubject(email); 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())); claims.put("auth", roles.stream().map(s -> new SimpleGrantedAuthority(s.getAuthority())).filter(Objects::nonNull).collect(Collectors.toList()));
System.out.println("claims = "+claims); System.out.println("claims = "+claims);