Laravel CORS for subdomain API



我使用Laravel来使用Lighthouse为GraphQL API提供服务。当我在主域中使用grapqhl作为URI时,一切都很好,但当我在子域中使用它时,例如grapql.app.test,我会得到下一个错误:

在'获取的访问权限http://graphql.app.test/'来自原点'http://app.test'已被CORS策略阻止:对的响应飞行前请求未通过访问控制检查:否"访问控制允许来源">

我的configcors:

'paths' => ['api/*','graphql'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,

我该如何解决这个问题?

我用的是laravel 8。

如果有人在使用Laravel 8+时遇到此问题,请确保API URL不会在客户端请求上以斜杠结尾,即https://someapi/endpoint/应该是https://someapi/endpoint

如果有人对此有问题,您需要添加将要使用的路径。在我的情况下是/,因为我的API在grapql.app.test中。

生成的代码:

'paths' => ['api/*','graphql','/'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://app.test'],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
'supports_credentials' => false,

最新更新