jdavidbakr / signed-s3-filesystem
此包已被废弃,不再维护。作者建议使用 laravel/framework >5.5 包。
Laravel S3 文件系统的扩展,用于返回签名 URL
1.0.1
2017-10-20 15:04 UTC
Requires
- php: ~5.6|~7.0
- aws/aws-sdk-php-laravel: ^3.1
- illuminate/support: ~5.1
- league/flysystem-aws-s3-v3: ~1.0
Requires (Dev)
- orchestra/testbench-browser-kit: ~3.0
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2019-12-04 19:03:00 UTC
README
自 Laravel 5.5 以来,Storage
门面已包含此功能。因此,建议按照 Laravel 的意图签名您的 URL。
signed-s3-filesystem
此包扩展了 Laravel 的 S3 文件系统驱动程序,通过 Storage::url() 命令返回签名 URL。
安装
通过 Composer
$ composer require jdavidbakr/signed-s3-filesystem
安装后,将以下内容添加到 cofig/app.php 中的 providers 数组
jdavidbakr\SignedS3Filesystem\SignedS3FilesystemServiceProvider::class,
此包使用 AWS 门面,因此请确保在 providers 数组中设置了以下内容
Aws\Laravel\AwsServiceProvider::class,
以及别名数组中
'AWS' => Aws\Laravel\AwsFacade::class,
您还需要将驱动信息添加到 config/filesystems.php 文件中。此驱动程序使用与 S3 驱动程序相同的配置信息,并添加了一个参数,用于指定签名 URL 过期的时间长度。如果您没有指定过期时间,则 URL 将默认在生成后 2 小时后过期。
's3-signed' => [
'driver' => 's3-signed',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
'options' => [
'expiration'=>'time-to-expire-urls-in-seconds',
],
],
由于过期选项是可选的,并且其他所有操作都与标准 S3 驱动程序相同,因此您可以改为将现有 s3 部分的驱动值更改为 's3-signed'。
使用
以与使用任何其他 Laravel 文件系统驱动程序相同的方式使用此驱动程序。Storage::url() 命令将返回一个签名 URL。
$signed_url = Storage::disk('s3-signed')->url('path-to-file');
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING 和 CONDUCT。
安全
如果您发现任何与安全相关的问题,请通过me@jdavidbaker.com 发送电子邮件,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件。