添加多个权利在JWT令牌春天启动的microService

问题描述 投票:0回答:2

我想在我的微服务实现基于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列表要求。如何添加有关此结构或要求用户提供更多的数据?

java spring-boot jwt
2个回答
1
投票

智威汤逊的目的是简单地验证用户,我们不需要临时抱佛脚的智威汤逊的数据,因为如果被验证,我们可以简单地查询数据库的任何我们需要的用户名。我用护照expressjs和我简单地生成一个智威汤逊与我的ID或用户名(包含唯一标识符),然后按在上请求我的验证头,我expressjs验证签名,如果是这样我可以使用该标识(用户名或ID )有信心自己提出这个要求,检查用户用户权限,实际的查询,而不是通过它在智威汤逊等角色


0
投票

你可以通过调用索赔一次增加多达权利要求你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()
© www.soinside.com 2019 - 2024. All rights reserved.