木灵鱼儿

木灵鱼儿

阅读:2594

最后更新:2021/03/21/ 20:36:56

koa教程2 HttpBearerAuth 传递token

前端发送token到后端,一般有三种方式:

  1. 链接中携带token,query参数
  2. post这种请求body中携带token
  3. 头信息携带token

但是事实上http已经为我们提供了传token的方式,是一个相对来说比较安全的方式,就是HttpBearerAuth

其实他也是一个头信息来着,只是相对来说多了一点操作,在apipost软件中,我们可以直接可视化设置

如果是axios,则是需要添加一个头信息:

axios({
    method: 'get',
    url: url,
    responseType: 'blob',
    headers: {
        'Authorization': 'Bearer ' + getToken()
    }
}).then(res => {
    console.log(res)
})

Authorization为key,值的话,开头要加上Bearer ,并且带有一个空格,这个空格是必须的。

然后我们koa的api中则需要获取到这个值,一般来说,自己写个方法就行了:

paresBearerToken.js:

//获取头信息中authorization的token
module.exports = function paresBearerToken(header) {
  if (header && header.authorization) {
    const authorization = header.authorization.split(" ");
    if (authorization.length === 2 &&
      /^Bearer$/i.test(authorization[0])) {
      return authorization[1];
    } else {
      return null;
    }
  };
  return null;
};

调用的时候:

const parseBearerToken = require("@utils/paresBearerToken");


//获取头信息中的token
const token = parseBearerToken(ctx.header);

这样就行了。

版权申明

本文系作者 @木灵鱼儿 原创发布在木灵鱼儿 - 有梦就能远航站点。未经许可,禁止转载。

关于作者

站点职位 博主
获得点赞 0
文章被阅读 2594

相关文章

目录树