这里是源码及教程:https://gitee.com/itmuch/light-security
讲讲我遇到的问题
返回报错提示没有找到名为Authorization的header和token必须以'Bearer '开头,这个是因为前端请求头没有带入参数,在请求方式中加入header请求头及参数,
uni.request({ url:this.GLOBALS + '/wx/user', data:{}, method:'GET', header: { 'Content-Type': 'application/json', 'charset':'UTF-8', 'Authorization': 'Bearer '+返回的token值, }, success: (e) => { console.log(e) }, fail: (e) => { console.log(e,'Error') } })
注意了:'Authorization': 'Bearer '+返回的token值, Bearer后面有个空格,下面是源码判断,这个天坑。
if (StringUtils.isEmpty(header)) { throw new LightSecurityException("没有找到名为Authorization的header"); } else if (!header.startsWith("Bearer ")) { throw new LightSecurityException("token必须以'Bearer '开头"); } else if (header.length() <= 7) { throw new LightSecurityException("token非法,长度 <= 7"); } else { return header.substring(7); }
记录一下平常遇到的问题及新的知识,方便以后查看