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.SignatureAlgorithm;
import fr.organizee.repository.MembreRepository;
/**
* JWT : classe utilitaire chargée de fournir le Jeton (Token) et les ©rifications
*/
@ -44,6 +46,8 @@ public class JwtTokenProvider {
@Autowired
private UserDetailsService userDetailsService;
@Autowired
private MembreRepository membreRepo;
/**
* Cette ©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<Role> 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);