【问题标题】:Laravel Vue JS JWT ImplementationLaravel Vue JS JWT 实现
【发布时间】:2021-02-14 23:06:33
【问题描述】:

我正在尝试了解如何基于注册/登录/注销过程来实现带有 jwt 令牌的 spa 上下文中的身份验证。我一直在网上搜索并在 laravel 端 tymon jwt 上实现,但我对注册表和登录表单的下一步感到困惑。

我是否理解当我的用户第一次在我的网站上注册时,此时应该生成 JWT 令牌并将其记录在 cookie 中?如果是,是 Vue 还是 Laravel 应该在 cookie 中记录 JWT 令牌?我想Vue?!如果是,以何种方式?

其他问题:如果用户清除浏览器缓存并从他的计算机中删除包含 JWT 的 cookie 会发生什么?他是否需要重新注册才能获得新令牌?我对这个过程完全感到困惑。

获得更详细和逐步的过程会有所帮助。 谢谢

【问题讨论】:

    标签: laravel vue.js jwt jwt-auth


    【解决方案1】:

    JWT 身份验证的粗略草图如下所示:

    1. 注册 - (可选 | 如果用户未注册)用户填写发布到注册路径的注册表格,创建用户帐户,api 响应 201(创建内容)
    2. 登录 - 用户使用他的凭据登录到应用程序。验证凭据并颁发 JWT 令牌并发回给用户。
    3. Vue 处理 JWT Token 并将提供的 Token 存储到 cookie 中(可以使用 js-cookie 来处理,通常在 Vuex 状态下)
    4. 令牌用于发送到服务器的每个请求,服务器验证令牌,然后请求继续。
    5. 注销请求服务器使令牌无效,然后从 cookie 中删除令牌。

    您可以使用 laravel 护照、Laravel Sanctum 或 tymon/Jwt 进行令牌管理。

    【讨论】:

    • 所以令牌实际上是在第一次登录时创建的,而不是在注册时。正确吗?
    • 您可以在登录时创建令牌,但您必须在两个端点上管理令牌。建议将用户重定向到登录(并可能使用来自 register 的相同凭据自动登录),而不是在 register 时发出令牌。
    猜你喜欢
    • 2017-06-03
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2019-03-23
    • 2016-09-01
    • 2021-08-25
    • 2020-12-24
    相关资源
    最近更新 更多