Vue.js + REST API中的身份验证流程

时间:2020-01-05 18:54:04

标签: vue.js jwt adonis.js

我正在使用vue cli和adonis.js构建一个项目。 前端将仅与Vue.js一起使用,而后端将仅提供REST api。 我将使用jwt进行身份验证。问题是,我不了解jwt的身份验证流程。我最近从Laravel迁移到adonis,所以我对Vue + Ajax + REST api的了解很少。这是我的问题:

  1. 您是否必须在每个Ajax请求中发送令牌?

  2. 如何使当前用户与给定的jwt令牌关联?

  3. 什么是refreshToken?

提供详细指南的链接就足够了。

2 个答案:

答案 0 :(得分:2)

  1. 您是否必须在每个Ajax请求中发送令牌?

是的,客户端必须发送他的令牌(登录成功后的getter)才能访问安全资源。

  1. 如何使当前用户与给定的jwt令牌关联?

JWT具有«sub»属性,例如,您可以在其中保存用户ID。

  1. 什么是refreshToken?

当客户端令牌过期时,您必须提供一个新的令牌,而无需再次登录。

以下是关于nodejs的指南:https://www.codementor.io/@olatundegaruba/5-steps-to-authenticating-node-js-with-jwt-7ahb5dmyr

答案 1 :(得分:1)

要完成@ljcordero的答案

亚多尼斯一侧:

您可以使用auth对象来吸引用户。喜欢:

async example ({ auth, request }) {
    const user = await auth.getUser()
    ...
}

Complete documentation of auth

VueJS方面:

Adonis创建的令牌包含一个UID字段。它代表用户的ID。

这是令牌示例:

enter image description here