【问题标题】:How to handle refresh and auth tokens at client side? (where to store)如何在客户端处理刷新和身份验证令牌? (存放地点)
【发布时间】:2019-05-23 03:40:51
【问题描述】:

我用 laravel 做后端,vue 做前端。

当用户想要进行身份验证时,他会调用我的 laravel api 并获取身份验证令牌和刷新令牌。身份验证令牌仅在 2 分钟内有效,但刷新令牌的寿命很长。因此,如果我将刷新令牌保存在用户端的某个位置,他可以长时间保持登录状态,但我担心安全性,如果我将刷新令牌保存在本地存储中,它很容易受到攻击。我可以将身份验证令牌保存在本地存储中,因为它是短暂的,即使它被盗我也不在乎,但我不知道如何处理刷新令牌。

困难的部分是我不想让用户每次打开应用程序时都输入他/她的凭据。

所以问题是,我在哪里可以保存刷新令牌?身份验证令牌在哪里?

【问题讨论】:

    标签: security authentication vue.js jwt single-page-application


    【解决方案1】:

    只有当您存储的刷新令牌与访问令牌不同时,才有意义。如果存储方式相同,只会增加复杂性,但都会以同样的方式受到损害。

    您可以将刷新令牌存储在 httponly cookie 中,如果 cookie 用于不同的域(idp)则更好,但在同一个域上也有意义。这个想法是,即使访问令牌在像 xss 这样的攻击中遭到破坏,刷新令牌仍然无法访问。

    【讨论】:

    • 感谢您的回复,尤其是第一句话。我一直在努力寻找使用刷新令牌的理由,并认为我在这里遗漏了一些东西。
    猜你喜欢
    • 2021-08-18
    • 2021-12-16
    • 2012-09-29
    • 2016-03-22
    • 2017-11-08
    • 1970-01-01
    • 2014-04-16
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多