jdavidbakr/signed-s3-filesystem

此包已被废弃,不再维护。作者建议使用 laravel/framework >5.5 包。

Laravel S3 文件系统的扩展,用于返回签名 URL

1.0.1 2017-10-20 15:04 UTC

This package is auto-updated.

Last update: 2019-12-04 19:03:00 UTC


README

自 Laravel 5.5 以来,Storage 门面已包含此功能。因此,建议按照 Laravel 的意图签名您的 URL。

signed-s3-filesystem

Latest Version on Packagist Software License Total Downloads

此包扩展了 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

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全

如果您发现任何与安全相关的问题,请通过me@jdavidbaker.com 发送电子邮件,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件