Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以在不使用刷新令牌的情况下检查JWT有效性?_Java_Spring Boot_Spring Security_Oauth_Jwt - Fatal编程技术网

Java 是否可以在不使用刷新令牌的情况下检查JWT有效性?

Java 是否可以在不使用刷新令牌的情况下检查JWT有效性?,java,spring-boot,spring-security,oauth,jwt,Java,Spring Boot,Spring Security,Oauth,Jwt,出于一些原因,我无法在客户端上使用刷新令牌,是否可以在ResourceServer上实现RemoteTokenServices,以便它检查令牌是否在auth server上被撤销,但从JWT令牌本身而不是从身份验证服务器获取身份验证信息,如用户详细信息,就像使用uuid令牌的默认实现一样 upd:这不是重复的,是关于JS和general的 方法,我对我解释的方法很满意,我想知道我是否可以以及如何使用spring boot和spring security实现它。JWT由三部分组成: 标题#关于所

出于一些原因,我无法在客户端上使用刷新令牌,是否可以在ResourceServer上实现RemoteTokenServices,以便它检查令牌是否在auth server上被撤销,但从JWT令牌本身而不是从身份验证服务器获取身份验证信息,如用户详细信息,就像使用uuid令牌的默认实现一样

upd:这不是重复的,是关于JS和general的
方法,我对我解释的方法很满意,我想知道我是否可以以及如何使用spring boot和spring security实现它。

JWT由三部分组成:

  • 标题#关于所用算法的信息
  • 有效载荷#包含数据,这一点在您的案例中很重要
  • 签名#基本上是该列表前两项的散列
您应该在这里了解有效负载(以及JWT本身)

长话短说,您可以在有效负载中包含公共数据。如果涉及到提到的
RemoteTokenServices
,当然可以,但我不确定这是否是个好主意。您只需将public
expiration date
(或
expirs
)属性添加到有效负载中即可


另外,请看以下内容:

JWT由三部分组成:

  • 标题#关于所用算法的信息
  • 有效载荷#包含数据,这一点在您的案例中很重要
  • 签名#基本上是该列表前两项的散列
您应该在这里了解有效负载(以及JWT本身)

长话短说,您可以在有效负载中包含公共数据。如果涉及到提到的
RemoteTokenServices
,当然可以,但我不确定这是否是个好主意。您只需将public
expiration date
(或
expirs
)属性添加到有效负载中即可


另外,请看以下内容:

谢谢,尽管我确实知道JWT的结构和用途,但可能是我不够清楚:我需要的是能够拥有长时间运行的用户会话,而无需让用户重新进行身份验证,以及出于安全原因,能够在auth server上进行最终用户会话。这通常通过刷新令牌完成,但第三方客户端无法使用它们。所以我想检查auth服务器上的令牌撤销,但不想从那里获取所有用户信息。我担心有效负载中的过期数据对我没有帮助。不幸的是,我不能给你确切的实现,但你可以添加一个自定义筛选器。用户将向特定端点发出请求(例如/extend-token)。然后,该过滤器将检查有效性并生成新令牌或延长同一令牌的生存期。然而,解决这个问题的最简单的方法就是给令牌几乎无限的生存期。你也应该考虑这种行为的安全原因。如果有人获得了一个令牌,这个人可以无限地利用它。谢谢,虽然我知道JWT的结构和用途,但可能是我不够清楚:我需要的是能够拥有长时间运行的用户会话而不需要用户重新进行身份验证,以及能够出于安全原因在auth server上结束用户会话。这通常通过刷新令牌完成,但第三方客户端无法使用它们。所以我想检查auth服务器上的令牌撤销,但不想从那里获取所有用户信息。我担心有效负载中的过期数据对我没有帮助。不幸的是,我不能给你确切的实现,但你可以添加一个自定义筛选器。用户将向特定端点发出请求(例如/extend-token)。然后,该过滤器将检查有效性并生成新令牌或延长同一令牌的生存期。然而,解决这个问题的最简单的方法就是给令牌几乎无限的生存期。你也应该考虑这种行为的安全原因。如果有人获得一个令牌,该人可以无限地利用它。AFAIK的可能副本没有内置的方法。您必须自己实现它。AFAIK的可能副本没有内置方式。你必须自己实施它。