actinity/signed-urls
最新稳定版本:1.1.1
Composer 安装命令:
composer require actinity/signed-urls
包简介
Signs and validates URLs with public/private keys
README 文档
README
A library for signing and validating short-lived, one-time URLs using public and private keys. Designed for Laravel, but can be used elsewhere.
Evolved from twogether/laravel-url-signer
Installation with Laravel
composer require actinity/signed-urls
php artisan vendor:publish --provider="Actinity\SignedUrls\Laravel\SignedUrlServiceProvider"
php artisan actinity:generate-key-pair
The last command will give you a public and private key pair. Add the private key to your .env file.
SIGNED_URLS_PRIVATE_KEY=<PRIVATE_KEY>
Configuring
Every app that you will be communicating between needs a source_name.
By default this is Str::slug(config('app.name')) but you can
explicitly set it in config/signed_urls.php.
Also in that config file you'll see a public_keys array.
This is where you can add the public keys for apps that will
make requests. So if you have an app called dashboard, you would
configure 'source_name' => 'dashboard'. If that needs to make
signed requests to an app called reports, then in that reports app
you would configure it like this:
'source_name' => 'reports', 'public_keys' => [ 'dashboard' => <DASHBOARD_PUBLIC_KEY_HERE> ]
The source_name parameter from your config will be added to every
generated URL as ac_sc. For more complex logic when resolving a key
to validate, you can implement Actinity\SignedUrls\Contracts\KeyProvider
and specify that in the config.
Generating URLs
To generate a signed URL, get the service from the service container, likely through injection.
$service = app(\Actinity\SignedUrls\SignedUrlService::class); $url = $service->sign('https://www.example.com');
Validating URLs
To validate a signed URL:
$service = app(\Actinity\SignedUrls\SignedUrlService::class); try { $service->validate($request->fullUrl()); } catch(\Actinity\SignedUrls\Exceptions\InvalidSignedUrl $exception) { dd($exception->errors()); }
You can also just use Actinity\SignedUrls\Laravel\SignedUrlMiddleware.
统计信息
- 总下载量: 1.96k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-05-17