【问题标题】:How to make an axios request with JWT?如何使用 JWT 发出 axios 请求?
【发布时间】:2021-06-30 00:07:11
【问题描述】:

您好,我正在研究如何使用 JWT 和 axios。我想知道您能否解释一下添加“承载”的意义何在?我是否应该使用“授权”或“x-access-token”名称?

Axios.get(`http://localhost:3001/posts`, {
      headers: { 'Authorization': `bearer ${token}` }
    }).then((response) => {
      console.log(response)
    });

【问题讨论】:

    标签: axios jwt


    【解决方案1】:

    如果我需要用非常简单的话来解释 JWT Token,那么我会这样说:

    访问令牌用于基于令牌的身份验证以允许访问 API。用户成功进行身份验证和授权后会收到访问令牌。

    关于授权令牌:

    要设置授权标头,这样调用它:

    headers: { 'Authorization': `bearer ${token}`
    

    现在不记名令牌基本上是指令牌类型,在这种情况下是不记名类型,阅读更多here

    所提供链接的摘要是这样的:

    本规范描述了如何在 HTTP 中使用不记名令牌 访问 OAuth 2.0 受保护资源的请求。任何一方在 持有不记名令牌(“不记名”)可以使用它来访问 相关资源(不证明拥有 密钥)。为了防止滥用,不记名令牌需要 防止在储存和运输过程中泄露。

    现在让我们来看看Authorization vs x-access-token

    授权:

    HTTP Authorization 请求标头包含向服务器验证用户代理的凭据,通常但不一定在服务器响应 401 Unauthorized 状态和 WWW-Authenticate 标头之后。

    阅读更多关于Authorizationhere

    X-Access-Token:

    在“x-auth-token”的情况下,用户必须第一次提供用户名/密码,并且服务器在标题字段“x-auth-token”中返回一个访问令牌。对于进一步的会话,交换此令牌,而不是用户名/密码。

    现在是结论。您将使用您的项目真正需要的任何内容,例如,如果您的应用程序有很多用户可能会使用,那么您必须尽可能多地实现安全性,这意味着使用 JWT 令牌和其他安全性步骤。

    另一方面,如果您的应用程序只需要一个管理员登录来输入一些数据并且您的窗口很小,那么您可能希望使用基于会话的登录。

    【讨论】:

      猜你喜欢
      • 2020-03-28
      • 2020-02-11
      • 1970-01-01
      • 2022-11-02
      • 2019-01-29
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2020-09-26
      相关资源
      最近更新 更多