Angular 和 Laravel 授权标头 CORS 错误
Posted
技术标签:
【中文标题】Angular 和 Laravel 授权标头 CORS 错误【英文标题】:Angular and Laravel authorization header CORS error 【发布时间】:2020-01-05 16:53:18 【问题描述】:我在 Angular 中有一个拦截器,用于将 Angular 发送到 Laravel CORS
let headers = new HttpHeaders(
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/x-www-form-urlencoded',
'Authorization': localStorage.getItem('token'),
);
let reqClone = req.clone(
headers: headers
);
在 Laravel 的中间件中
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Credentials', 'true')
->header('Access-Control-Allow-Methods', 'GET, HEAD, OPTIONS, POST, PUT')
->header('Access-Control-Max-Age', '3600')
->header('Access-Control-Allow-Headers', 'Origin, Accept, Content-Type, X-Requested-With');
我尝试访问
$request->header('authorization') // Laravel
但我收到与 CORS 相关的错误
来自原点“http://localhost:4200”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头
【问题讨论】:
您需要将授权添加到您的 Allow-Headers.. 你可以看看例子,好吗?它放在哪里。 抱歉,在移动端。 ->header('Access-Control-Allow-Headers', 'Origin, Accept, Content-Type, X-Requested-With', 'Authorization'); 我会试试的,谢谢你的帮助 【参考方案1】:尝试使用laravel-cors 插件。我认为这可以解决问题。
【讨论】:
以上是关于Angular 和 Laravel 授权标头 CORS 错误的主要内容,如果未能解决你的问题,请参考以下文章
Laravel API cors-预检响应中的Access-Control-Allow-Headers不允许请求标头字段授权[重复]