adoranwodo / laravelcorsmiddleware
为您的 Lumen / Laravel 应用程序添加 CORS 支持
Requires
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-12 04:45:25 UTC
README
Laravel Cors Middleware 是一个允许用户通过利用中间件配置来为 Laravel / Lumen 应用程序启用跨源资源共享 (CORS) 的软件包。
安装
通过 Composer
$ composer require adoranwodo/laravelcorsmiddleware
用法
Laravel
如果您正在使用 Laravel,请继续此处。如果您正在使用 Lumen,请向下滚动到 Lumen 部分。
配置
请在您的 config/app.php
中添加服务提供者
'providers' => [
...
AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddlewareServiceProvider::class
]
config/laravelcorsmiddleware.php
中有一个默认配置。发布此文件到您的配置目录并更改为您自己的值。您可以通过在终端运行以下代码来发布文件
php artisan vendor:publish --provider="AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddlewareServiceProvider"
配置文件中有一些说明。请严格遵循,您应该一切顺利 :)
最后,您需要将其添加到中间件中。您可以为全局或中间件组添加。
全局中间件(Laravel)
要全局使用 CORS 中间件(对所有路由),请转到 app/Http/Kernel.php
并将 laravelcorsmiddleware 添加到您的 $middleware
数组中,如下所示
protected $middleware = [
...
\AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddleware::class,
]
中间件组(Laravel)
要仅对特定路由或组使用 CORS 中间件,请转到 app/Http/Kernel.php
并将 laravelcorsmiddleware 添加到您的中间件组数组中,如下所示
protected $middlewareGroups = [
'web' => [
...
\AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddleware::class,
],
'api' => [
...
],
];
Lumen
如果您正在使用 Lumen,请继续此处。如果您正在使用 Laravel,请向上滚动到 Laravel 部分
配置
请在父目录中创建一个 /config
目录并添加一个新的 laravelcorsmiddleware.php
文件。将以下内容粘贴到您的新 PHP 文件中(您可以根据需要编辑值)。
<?php
return [
/*
* __________ __________ ___________ __________
* | | | | | |
* | | | | | |
* | | | | | |
* | | | |___________| |__________
* | | | | \ |
* | | | | \ |
* | | | | \ |
* |__________ |__________| | \ ___________|
*
*
*
* LARAVEL CORS MIDDLEWARE
*
* Please add a list of values to allowedOrigins, allowedMethods and allowedHeaders.
* You can also choose to set the value of these to '*', but note that this is not advisable
* for allowedOrigins as this would give everyone access to your api.
*/
'allowCredentials' => true, //true or false. NOTE: Boolean NOT String. 'true' is different from true
'allowedOrigins' => ['*'], //array of strings e.g. ['*'] or ['https://mywebsite.com', 'https://anotherwebsite.com', ... ]
'allowedMethods' => ['*'], //array of strings e.g. ['*'] or ['GET', 'POST', ... ]
'allowedHeaders' => ['*'], //array of strings. e.g. ['*'] or ['Content-Type', 'Authorization', ... ]
'maxAge' => 86400, //number. e.g. 86400
];
完成此操作后,您可以转到 bootstrap/app.php
。在此处,您将手动加载配置文件并按如下方式注册服务提供者
$app->configure('laravelcorsmiddleware'); //load the config file
$app->register(AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddlewareServiceProvider::class); //register the service provider
最后,您需要将其添加到中间件中。您可以为全局或中间件组添加。
全局中间件(Lumen)
要全局使用 CORS 中间件(对所有路由),请转到 bootstrap/app.php
并将 laravelcorsmiddleware 添加到您的 $middleware
数组中,如下所示
$app->middleware([
...
\AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddleware::class,
]);
中间件组(Lumen)
要仅对特定路由或组使用 CORS 中间件,请转到 bootstrap/app.php
并将 laravelcorsmiddleware 添加到您的中间件组数组中,如下所示
$app->routeMiddleware([
'cors' => \AdoraNwodo\LaravelCorsMiddleware\LaravelCorsMiddleware::class
]);
变更日志
请参阅 变更日志 了解最近更改的详细信息。
贡献
请参阅 contributing.md 了解详细信息和一个待办事项列表。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 nennenwodo@gmail.com 联系,而不是使用问题跟踪器。
许可
osl 3.0。请参阅 许可文件 了解更多信息。