【问题标题】:axios api authentication headers jwt and securityaxios api 身份验证标头 jwt 和安全性
【发布时间】:2020-10-19 02:54:16
【问题描述】:

这里有两个问题:

  1. 我无法使用 axios 和授权标头传递发布请求:

    axios.post('http://localhost/dashboard', {headers: { 'Authorization': 'JWT xxxxxx' }})

但我能够让它与预设一起工作:axios.defaults.headers.common['Authorization'] = 'JWT xxx'

我是否遗漏了为什么 headers 参数将“标头”作为数据负载而不是实际标头发送?

  1. 一旦我从我的登录页面生成 JWT,之后的每个页面请求我只在 response.status 为 200 时才显示该页面。如果他们的 jwt 是,这是将某人重定向回登录页面的正确方法吗访问页面是假的还是无效的?

流程是:

  1. /登录用户获取JWT
  2. 立即定向到 /dashboard,但在它们之前使用 JWT 对 /dashboard 进行 api 调用,如果状态代码为 200,则显示 /dashboard 页面。这是正确的还是我应该实现的不仅仅是 200 个代码?

【问题讨论】:

    标签: vue.js vuejs2 axios


    【解决方案1】:

    我是否遗漏了为什么 headers 参数将“标头”作为数据负载而不是实际标头发送?

    1. 因为您将标头作为数据负载传递。我建议阅读 axios.post() 的 axios 文档

    2. 自动刷新 JWT 而不是注销用户是很常见的。取决于您的安全要求。例如,如果您是一家银行,最好注销用户而不是自动刷新 JWT。

    不是检查 200,而是检查状态是否为 403(或您的后端为无效 JWT 返回的任何状态)。如果您的后端错误 (500) 或收到错误请求 (400),则与无效的 JWT 无关,您将白白注销用户。

    【讨论】:

      猜你喜欢
      • 2012-09-19
      • 2015-09-13
      • 2019-02-21
      • 1970-01-01
      • 2016-03-26
      • 2017-09-22
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      相关资源
      最近更新 更多