cors.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. return [
  3. // 指定哪些路由需要 CORS
  4. 'paths' => [
  5. '*', // 所有路由
  6. 'api/*', // API 路由
  7. 'sanctum/csrf-cookie', // Sanctum 认证
  8. 'login', // 登录路由
  9. 'register', // 注册路由
  10. ],
  11. // 允许的请求方法
  12. 'allowed_methods' => ['*', 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'],
  13. // 允许的来源域名
  14. 'allowed_origins' => [
  15. '*',
  16. 'http://127.0.0.1',
  17. 'http://localhost',
  18. env('APP_ENV') === 'local'
  19. ? ['http://localhost:3000', 'http://localhost:8080', 'http://127.0.0.1:8000', '*']
  20. : [env('FRONTEND_URL'), '*'],
  21. ],
  22. // 允许的域名模式(支持通配符)
  23. 'allowed_origins_patterns' => [
  24. // 'https://*.your-domain.com',
  25. ],
  26. // 允许的请求头
  27. 'allowed_headers' => [
  28. '*',
  29. 'Accept',
  30. 'Authorization',
  31. 'Content-Type',
  32. 'X-Requested-With',
  33. 'X-CSRF-TOKEN',
  34. 'X-Custom-Header',
  35. env('APP_ENV') === 'local' ? 'X-Debug-Token' : null,
  36. ],
  37. // 暴露给客户端的响应头
  38. 'exposed_headers' => [
  39. '*',
  40. 'X-Custom-Response-Header',
  41. ],
  42. // 预检请求缓存时间(秒)
  43. 'max_age' => 86400,
  44. // 是否允许携带认证信息(cookies等)
  45. 'supports_credentials' => env('CORS_SUPPORTS_CREDENTIALS', true),
  46. ];