Bonjour,
je souhaite renvoyer un jwt avec le nom des roles de l' utilisateur:
lorsque je décode le jwt j'ai ceci en payload:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @Override public String getJwtInviter(String email) { String jwtToken = Jwts.builder().setSubject(email) .setExpiration(new Date(System.currentTimeMillis() + SecurityConst.EXP)) .signWith(SignatureAlgorithm.HS512, SecuConstants.SECRET).claim("roles", "INVITER").compact(); return SecuConstants.TOKEN_PREFIX+jwtToken; }
il me faudrait ajouter dans roles non pas une chaîne de caractère mais une liste d'un seul élément,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 { "sub": "titi@titi.fr", "exp": 1591113325, "roles": "INVITER" }
comment je dois m'y prendre ?
voici ce que j'espère obtenir:
il fallait créer une map de type string
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 { "sub": "titi@titi.fr", "exp": 1591113325, "roles": [{"Authority":"INVITER"}] }
merci d'avance de vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Map<String, String> mapRole = new HashMap<String, String>(); mapRole.put("authority","INVITER"); String jwtToken = Jwts.builder().setSubject(email) .setExpiration(new Date(System.currentTimeMillis() + SecurityConst.EXP)) .signWith(SignatureAlgorithm.HS512, SecuConstants.SECRET).claim("roles", mapRole).compact(); return SecuConstants.TOKEN_PREFIX+jwtToken;;
Partager