Oauth2 Spring中的JWT令牌

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oauth2 Spring中的JWT令牌相关的知识,希望对你有一定的参考价值。

我已经在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令牌的其他优缺点是什么

答案

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

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

以上是关于Oauth2 Spring中的JWT令牌的主要内容,如果未能解决你的问题,请参考以下文章

使用 OAuth2 保护服务,JWT 令牌不起作用 Spring Cloud

如何使用 Spring OAuth2 JWT 令牌?

Spring Webflux SecurityValidate OAuth2 JWT 令牌

Spring Boot Security OAuth2 实现支持JWT令牌的授权服务器

带有加密 JWT 访问令牌的 Spring Boot OAuth2

仅在 JWT 令牌中而不是在 OAuth2 令牌中添加附加信息