Request error 401:无认证令牌授权被拒,如何解决及获取令牌?
解决React页面加载时的401认证令牌错误
一、令牌获取途径
- 自研后端服务:直接找后端开发要测试用令牌,或者走系统登录流程——用户登录成功后,后端会返回包含令牌(比如JWT)的响应,前端需把令牌存在localStorage、sessionStorage或cookie里。
- 第三方API服务:去对应开发者平台注册账号、创建应用,获取API密钥或访问令牌;部分服务需要通过OAuth2流程获取临时令牌。
- 本地开发项目:检查项目根目录的
.env.development或类似配置文件,看是否有REACT_APP_AUTH_TOKEN这类预设的测试令牌变量。
二、前端代码排查与修复
- 检查请求拦截器:确保发送请求时自动携带令牌。比如用Axios的话,要在拦截器里正确读取存储的令牌并添加到请求头:
axios.interceptors.request.use(config => { const token = localStorage.getItem('authToken'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; });
- 验证令牌有效性:拿到令牌后,可在浏览器控制台用
atob(token.split('.')[1])解码查看过期时间,若已过期需重新获取。 - 核对请求头格式:有些后端要求令牌前缀是
Bearer,有些直接用令牌本身,要和后端确认格式是否匹配。
三、本地环境配置检查
- 确认
.env文件加载正常:React项目的环境变量必须以REACT_APP_开头,修改后要重启开发服务器才能生效。 - 确认node版本适配:虽然已降级到v16,可检查项目
package.json里的engines字段是否指定了v16,避免版本不兼容导致配置加载异常。
内容的提问来源于stack exchange,提问作者Vishnu
相关产品推荐
相关产品推荐

