如何通过浏览器直接发送Access Token?解决‘Missing Authorization Header’错误
解决浏览器直接发送带JWT认证的GET请求问题
你遇到的问题核心是@jwt_required装饰器要求请求必须携带Authorization请求头,但直接在浏览器地址栏输入URL发起的GET请求默认不会自动添加这个头,所以才会触发Missing Authorization Header错误。下面给你几种在浏览器里直接发送带Access Token请求的实用方法:
方法1:用浏览器开发者工具控制台发送请求
这是最便捷的临时测试方式,操作步骤如下:
- 打开浏览器开发者工具(按下F12键,或右键页面选择「检查」)
- 切换到「Console」标签页
- 复制下方代码,把
YOUR_ACCESS_TOKEN_HERE替换成你的实际Access Token,回车执行即可:
fetch('http://127.0.0.1:5000/test2?mailid=ABC.xyz.com&username=ABC&password=password', { method: 'GET', headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN_HERE' } }) .then(response => response.text()) .then(data => console.log(data)) .catch(error => console.error('请求出错:', error));
执行后,你就能在控制台看到接口返回的结果。
方法2:使用浏览器API测试插件
如果需要频繁测试接口,这类插件会让操作更直观:
- 可以选择Chrome商店的「Restlet Client」「Postman」这类插件
- 安装后选择GET请求方式,填入你的请求URL
- 在请求头(Headers)区域添加一条记录:
- 键:
Authorization - 值:
Bearer 你的Access Token
- 键:
- 点击发送按钮就能获取接口响应
方法3:通过URL参数传递Token(仅适合本地测试,禁止生产环境使用)
如果你一定要用地址栏直接访问的方式,可以修改代码配置,让JWT支持从URL参数读取Token:
比如使用Flask-JWT-Extended的话,把装饰器修改为:
@jwt_required(location="query_string")
之后就能在URL后拼接Token参数访问:http://127.0.0.1:5000/test2?mailid=ABC.xyz.com&username=ABC&password=password&token=YOUR_ACCESS_TOKEN_HERE
⚠️ 重要提醒:这种方式极不安全,Token会暴露在浏览器历史、服务器日志中,仅适合本地临时测试使用。
内容的提问来源于stack exchange,提问作者nithish albin
相关产品推荐
相关产品推荐

