在vue.js中携带token,中间件auth.js获取不到token值
来源:8-7 在小程序中携带令牌

梁凤波
2019-06-16
七月老师您好,我在使用vue.js使用 axios携带token令牌时出现了一个问题:在中间件auth.js获取不到,我写的携带令牌代码是:
import {Base64} from 'js-base64'
// ...
config.headers.common['Authorization'] = 'Bearer ' + _encode();
// ...
// 转码token
function _encode() {
const token = Vue.ls.get("token");
const base64 = Base64.encode(token + ':');
return 'Basic ' + base64
}
这些携带token令牌我在浏览器和debug输出都是看到token的:
但是在 auth.js 中间件里就是取不到该token:
class Auth {
constructor(level) {
this.level = level || 1;
Auth.USER = 8;
Auth.ADMIN = 16;
Auth.SPUSER_ADMIN = 32;
}
get m() {
// token 检测
// token 开发者 传递令牌
// token body header
// HTTP 规定 身份验证机制 HttpBasicAuth
return async (ctx, next) => {
const tokenToken = basicAuth(ctx.req);
// 这里是undefined
我调试了很久,我对头部怀疑是headers和header的问题,我搜了一下axios传递头参数的确是headers,想请教一下老师问题的原因?谢谢!
写回答
2回答
-
bearer ?httpbasicauth不能加这个呀。
012019-06-17 -
negrochn
2019-06-29
Bearer和Basic不能一起使用的,只要选其一就行,就如postman中你选了Basic Auth就不能选Bearer Token的方式了
012019-07-02
相似问题