Oauth2 Spring中的JWT令牌

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

我已经在Oauth2 Framework中实现了JWT Token。在实现之后,我几乎没有想到任何查询,如下所示:

1。在JWT实现之前,每当用户访问资源服务器中具有相应访问令牌作为承载的API时,资源服务器使用user-info-uri端点检查auth服务器,如下所示

  security:
      oauth2:
        resource:
          user-info-uri: https://localhost:8080/auth/user 

在JWT实现之后,我认为资源服务器和auth服务器之间没有检查调用,而是使用公钥验证JWT令牌的签名。但是为了在获取JWT令牌后检查这一点,我停止了auth服务器并尝试查看资源服务器是否验证了jwt令牌并给出了响应,但是这失败了。资源服务器是否与Auth Server建立任何连接?

2。之前在JWT实现之前,所有令牌都在数据库中持久化,因此在成功授权后获取令牌,并且由于令牌在DB中持久存在,因此令牌将是相同的,即使他再次调用相同的令牌API直到到期。在JWT实现之后,看起来JWT建议不要使生成的令牌持久存在于DB中,这意味着每次用户调用令牌端点时,他都会得到不同的JOT令牌。我们是否需要在数据库中保留JWT令牌?

3。任何人都可以看到所有用户详细信息,包括http://jwt.io/中JWT令牌的用户角色,这会产生任何问题吗?

除了上述查询之外,任何人都可以告诉我在Oauth2中使用JWT令牌的其他优缺点是什么

java authentication oauth-2.0 jwt spring-oauth2
1个回答
0
投票

我将回答“我们是否需要在数据库中保留JWT令牌?”

答案是不。 JWT的想法是在客户端处理auth。您应该将JWT发送到客户端并将其保留在本地存储中。

© www.soinside.com 2019 - 2024. All rights reserved.