koa教程2 HttpBearerAuth 传递token
前端发送token到后端,一般有三种方式:
- 链接中携带token,query参数
- post这种请求body中携带token
- 头信息携带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);
这样就行了。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
全部评论 2
阿俊
Google Chrome Windows 10木灵鱼儿
FireFox Windows 10