nordsoftware / lumen-cors

该包已被 放弃 并不再维护。未建议替代包。

Lumen PHP 框架的 CORS 模块。

3.5.0 2022-03-24 15:05 UTC

README

GitHub Actions status Coverage Status Code Climate Scrutinizer Code Quality StyleCI Latest Stable Version Total Downloads License

Lumen PHP 框架 提供的 跨源资源共享 (CORS) 模块。

要求

使用方法

安装

运行以下命令通过 Composer 安装该包:

composer require nordsoftware/lumen-cors

配置

config/cors.php 中的配置模板复制到您的应用 config 目录中,并根据需要修改。更多信息请参阅 Lumen 文档中的 配置文件 部分。

可用的配置选项

  • allow_origins array 允许执行请求的源,默认为空数组。也接受模式,例如 *.foo.com
  • allow_methods array 允许的 HTTP 方法,默认为空数组
  • allow_headers array 允许的 HTTP 头,默认为空数组
  • allow_credentials boolean 当存在凭证时,是否可以暴露响应,默认为 false
  • expose_headers array 允许暴露给 Web 浏览器的 HTTP 头,默认为空数组
  • max_age integer 表示预检请求可以被缓存多长时间,默认为 0

引导

将以下行添加到 bootstrap/app.php

$app->register('Nord\Lumen\Cors\CorsServiceProvider');
$app->middleware([
	.....
	'Nord\Lumen\Cors\CorsMiddleware',
]);

该模块现在自动处理所有 CORS 请求。

自定义行为

虽然可以通过 config/cors.php 对服务进行一些配置,但对于一些更复杂的事物,如允许源的正则表达式,则不能配置。如果需要,您可以自己提供此自定义功能。

  1. 扩展 CorsService 并覆盖例如 isOriginAllowed()
  2. 扩展 CorsServiceProvider 并覆盖 registerBindings(),然后注册您自己的服务类

贡献

请阅读 指导方针

运行测试

克隆项目,并通过运行以下命令安装其依赖项:

composer install

运行以下命令以运行测试套件:

composer test

许可

LICENSE