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

我应该还是不应该在Laravel Passport中使用具有密码授予授权的刷新令牌?

景嘉志
2023-03-14

如果我有一个带有Laravel后端的单页web应用程序,那么我最好的身份验证选择似乎是Passport,它具有密码授权身份验证流。在Passport中,返回一个访问令牌和一个刷新令牌。

为了安全起见,我想发布一个短期访问令牌,并在它过期时刷新它。然而,关于在Javascript应用程序中使用OAuth的所有可用信息都说“不要让前端访问您的刷新令牌”,因为它寿命很长,其他人可以使用它来生成新的访问令牌。

例如:

单页应用程序(通常实现隐式流)不应接收刷新令牌。刷新令牌本质上是允许用户无限期地保持身份验证的用户凭证。这些敏感信息应安全存储,不得暴露在浏览器的客户端。

这是否意味着基于浏览器的SPA不能使用刷新令牌,因此必须仅颁发在合理的“会话”长度后过期的访问令牌,从而迫使用户在之后再次登录?

否则,是否有合适的方法在具有密码授权认证的Laravel Passport应用程序中实现短寿命访问令牌和刷新令牌,同时保持良好的安全性?

共有1个答案

巫马望
2023-03-14

存储刷新令牌没有坏处,因为它们可以在访问令牌(如您所提到的短暂)过期后用于获取另一个访问令牌,从而创建良好的用户体验。

 类似资料:
  • 我执行本问题中描述的步骤: Laravel的5.3护照和api路由 从api的路径来看,一切都很好,我可以注册新用户,读取他们的数据等等。 然后在AuthServiceProvider上添加此命令 护照::代币ExpireIn(碳::现在()- 我以url{{url}}/oauth/token登录邮递员 正文:application/x-www-form-urlencoded { 授权类型:{pa

  • 我们有一个应用程序,它应该通过第三方OAuth 2.0服务器使用身份验证,该服务器充当授权服务器。 据我所知,有两种可能性。 “正确”的一个是: 移动应用程序存储client_id 移动应用程序从GET/auth开始接收authorization_code 授权服务器返回响应,重定向到redirect_uri并附加授权代码。我们假设,redirect_uri是我们自己服务器上的endpoint 移

  • 一旦我点击链接并输入用户名和密码,我就会在java jersey API中的配置回调url上获得回调。 我在回拨请求中得到以下详细信息。 这里我使用Scribe Java库进行OAuth身份验证

  • 本文向大家介绍oauth 授权码授予,包括了oauth 授权码授予的使用技巧和注意事项,需要的朋友参考一下 示例 第1步 第2步 资源

  • 我是这方面的新手,读了很多之后,我觉得我不太明白如何在Keycloak中实现授权代码流。我的疑惑: > < li> 在创建了支持此流程的客户端后,如何执行凭据验证?默认情况下,如果我不做任何配置,我会得到一个登录表单。如果我在浏览器中打开这个html,并填写用户和密码字段,当我按下按钮时,它会将我发送到一个类型为.../realm/{ REAL _ NAME }/log in-actions/au

  • 我想我获得了使用授权代码授予类型的OAuth2流。资源所有者登录到服务器,然后使用授权代码重定向到客户端。然后客户端使用授权代码向授权服务器查询访问令牌和刷新令牌。这就是我困惑的地方。 当访问令牌过期时,客户端应该使用授权码还是刷新令牌来获取新的访问令牌?如果您有授权代码,为什么要使用刷新令牌? 注:我并不是在找一个回答说“刷新令牌是可选的”,因为我正在为amazon-alexa编写这个服务器,这