我想在我的微服务实现基于JWT令牌管理。我使用Spring引导开发服务。目前,我创建并发送回应我的前端与令牌角应用。在这里,我只加了要求和主题。
我的代码是这样的:
public String generateUiaToken(String encodedSecret, Users uiaToken) {
List<Integer> roleIdList = roleRepo.findRoleById((int) uiaToken.id);
return Jwts.builder()
.setId(UUID.randomUUID().toString())
.setSubject(uiaToken.getUsername())
.signWith(SignatureAlgorithm.HS512, encodedSecret)
.claim("Role_List", roleIdList)
.compact();
}
在这里,我添加了JSON角色ID列表要求。如何添加有关此结构或要求用户提供更多的数据?
智威汤逊的目的是简单地验证用户,我们不需要临时抱佛脚的智威汤逊的数据,因为如果被验证,我们可以简单地查询数据库的任何我们需要的用户名。我用护照expressjs和我简单地生成一个智威汤逊与我的ID或用户名(包含唯一标识符),然后按在上请求我的验证头,我expressjs验证签名,如果是这样我可以使用该标识(用户名或ID )有信心自己提出这个要求,检查用户用户权限,实际的查询,而不是通过它在智威汤逊等角色
你可以通过调用索赔一次增加多达权利要求你want.You可以做到这一点。
Jwts.builder()
.setId(UUID.randomUUID().toString())
.setSubject(uiaToken.getUsername())
.signWith(SignatureAlgorithm.HS512, encodedSecret)
.claim("Role_List", roleIdList)
.claim("abc", abcValue)
.claim("asasas", asasas)
.compact()