Java 我是否可以/应该在spring security中对每个请求刷新OAuth2令牌
我们使用用户名密码授权将JS客户端连接到REST服务器。在某种程度上,oauth/token返回的令牌是我们的会话,因为它允许在有限的时间内访问后端 我们希望在每次使用令牌向后端发出请求时刷新该会话/令牌 我知道服务器发布了这个刷新令牌,我可以使用它在令牌过期后刷新我的令牌 问题是:我不想让客户端负责捕获令牌过期异常并在令牌过期之前重新验证或安排刷新。我希望令牌能够自我刷新,直到它在有限的时间内不再被使用——就像会话一样。(我也不希望它对每个“数据”请求都发出刷新请求,尽管我记得读过,刷新令牌只有效一次…?) 在SpringSecurity中有没有一种方法可以做到这一点,或者我必须构建令牌存储的一些自定义实现,或者我选择的任何部分 因为我真的找不到答案(因此这篇文章),我在想:也许这样做是不明智的,尽管我不知道为什么。如果我可以偷令牌,我也可以偷刷新令牌。因此,我想我并不认为在第一时间使用刷新令牌有什么意义 编辑 作为对卢克·泰勒回答的回应,我将澄清我们的用例Java 我是否可以/应该在spring security中对每个请求刷新OAuth2令牌,java,spring,spring-security,oauth-2.0,spring-security-oauth2,Java,Spring,Spring Security,Oauth 2.0,Spring Security Oauth2,我们使用用户名密码授权将JS客户端连接到REST服务器。在某种程度上,oauth/token返回的令牌是我们的会话,因为它允许在有限的时间内访问后端 我们希望在每次使用令牌向后端发出请求时刷新该会话/令牌 我知道服务器发布了这个刷新令牌,我可以使用它在令牌过期后刷新我的令牌 问题是:我不想让客户端负责捕获令牌过期异常并在令牌过期之前重新验证或安排刷新。我希望令牌能够自我刷新,直到它在有限的时间内不再被使用——就像会话一样。(我也不希望它对每个“数据”请求都发出刷新请求,尽管我记得读过,刷新令牌只
- 我们有一个REST服务器,它像Person一样保存应用程序数据。但也可以访问我们的内容管理,并允许客户发布到facebook。它封装了应用程序逻辑和数据存储
- 我们已经有了一个成熟的客户机应用程序,它有自己的安全层,并通过客户机凭据流访问REST服务器上的数据。谁能做客户方决定的事情
- 我们有几个中小型应用程序,比如facebook上的联系人应用程序,也可以使用客户端凭据访问REST服务器上的数据
- 我们现在正在开发一个只使用javascript的客户端应用程序,它将访问REST层来完成大客户端应用程序所做的所有工作,但还需要提供一种方法来验证单个用户并允许多租户。因此,这个新的客户端应用程序使用用户名密码授权进行身份验证,并使用方法级别的安全性对用户进行授权
此外,客户端是基于浏览器的应用程序吗?如果是这样,用户名/密码授权实际上不适合在不受信任的客户端中使用。谢谢您的详细回答。我在我的问题中添加了更多的信息来澄清我们的服务器结构。您是否能够弄清楚在SpringSecurityOAuth中刷新访问令牌是否有意义?