当前位置: 首页 > 知识库问答 >
问题:

Laravel护照-我如何检查刷新令牌的有效性(同时不撤销它)?

田向荣
2023-03-14

使用Laravel Passport,如何检查刷新令牌是否仍然有效?

我问的不是访问令牌:我可以通过请求任何实现< code > Route::middleware(auth:API)的路由器来验证它

我知道如何使用它来请求新的访问和刷新令牌(查询oauth/token),但它会撤销当前的访问和更新令牌。

用例:我有一个刷新令牌存储为<code>HttpOnly✓ cookie</code>,我想使用它来验证对静态资源的请求(本机<code>

(我知道访问令牌是一种查询字符串解决方案,但由于可能的安全问题,我宁愿避免使用它)。

谢谢你。

共有1个答案

阎嘉荣
2023-03-14

您无需检查刷新令牌的有效性,这些令牌的目的不是证明用户具有会话,这些令牌的唯一目的是生成可用于您的 API 的新访问令牌,并将验证用户是否具有有效的会话。

如果刷新令牌无效,它不会生成新的访问令牌。

 类似资料:
  • 在我的AD B2C应用程序中,我需要撤销AD B2C为一个用户给出的所有刷新令牌。当用户帐户登录多个应用程序,并且在一个应用程序中用户更改了密码时,这是一个需要实现的要求。当密码被更改时,我已经撤销了他给其他应用程序的所有刷新令牌。怎么做? 更新: 我尝试过以下操作, 解决方案: 刷新令牌撤销图形api正在工作。但这需要大约5分钟。 但这里的问题是在等待期间,我能够获得新的刷新令牌和访问令牌,并且

  • 正如这里提到的http://projects.spring.io/spring-security-oauth/docs/oauth2.html,撤销是通过刷新令牌完成的。但这似乎不起作用。

  • 我正在使用JWTs为我的应用程序验证用户身份。当用户登录时,他们将获得一个访问令牌和一个刷新令牌。为了保证刷新令牌的安全,我不将其存储在客户端,而是将其与他们的帐户一起保存在后端,这样就不容易访问了。虽然我对刷新令牌的安全性感到困惑,但当我阅读关于如何使用刷新令牌的在线资源时,以下是我理解的逻辑: 身份验证 将访问令牌+刷新令牌存储在某个位置(在我的示例中,访问令牌位于前端,刷新令牌位于后端) 执

  • 仍然存在,我可以通过它刷新访问令牌。 如果某人有G套件帐户,那么过期时间是否有特殊值,还是保持不变? 根据文档,我最多可以拥有50个令牌,那么有没有其他替代方法,这样我就可以在50个请求后获得有效的令牌。

  • 我有一个使用Passport身份验证的Laravel应用程序。 登录 我已解决AuthServiceProvider的到期问题: 它的工作原理,但1分钟后令牌过期。我想要一个不同的令牌到期日,这取决于我试图登录的地方,因为我有一个网站,桌面应用程序和一个Android应用程序。 例如: 网络应用程序:8小时 我想从我尝试登录的地方发送给我,但这是一个好方法吗?还有其他可能的方法吗? 现在我已经尝试

  • 我正在使用Laravel Passport,并且在控制器中具有注销功能。见下文: 我现在试图为此编写一个单元测试,但是即使在注销和令牌被撤销后,用户仍然保持登录状态。我发现此方法照明\Auth\ResestGuard::注销不存在Laravel Passport,但即使此解决方案也不适用于我。我猜这可能是因为我正在使用Laravel 8。我的单元测试是这样的: 结果如下: 预期状态代码401,但收