adoranwodo/laravelcorsmiddleware

为您的 Lumen / Laravel 应用程序添加 CORS 支持

1.0.1 2018-11-02 19:43 UTC

This package is auto-updated.

Last update: 2024-09-12 04:45:25 UTC


README

Latest Version on Packagist Total Downloads Build Status License composer.lock available

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。请参阅 许可文件 了解更多信息。