|
|
@@ -0,0 +1,39 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace App\Http\Middleware;
|
|
|
+
|
|
|
+use Closure;
|
|
|
+use Illuminate\Http\Request;
|
|
|
+
|
|
|
+class EnableCrossRequestMiddleware
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * Handle an incoming request.
|
|
|
+ *
|
|
|
+ * @param \Illuminate\Http\Request $request
|
|
|
+ * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
|
|
|
+ * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
|
|
|
+ */
|
|
|
+ public function handle(Request $request, Closure $next)
|
|
|
+ {
|
|
|
+ $response = $next($request);
|
|
|
+ $origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '';
|
|
|
+ $allow_origin = [
|
|
|
+ env("CROSS_REQUEST_ALLOW_ORIGIN",'http://localhost:8001'),
|
|
|
+ ];
|
|
|
+ if (in_array($origin, $allow_origin)) {
|
|
|
+ $response->header('Access-Control-Allow-Origin', $origin);
|
|
|
+ $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
|
|
|
+ $response->header('Access-Control-Expose-Headers', 'Authorization, authenticated');
|
|
|
+ $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
|
|
|
+ $response->header('Access-Control-Allow-Credentials', 'true');
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ ————————————————
|
|
|
+ 原文作者:qbhy
|
|
|
+ 转自链接:https://learnku.com/articles/6504/laravel-cross-domain-solution
|
|
|
+ 版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。
|
|
|
+ */
|
|
|
+ return $next($request);
|
|
|
+ }
|
|
|
+}
|