Download the PHP package fileinvite-org/laravel-url-signer without Composer
On this page you can find all versions of the php package fileinvite-org/laravel-url-signer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fileinvite-org/laravel-url-signer
More information about fileinvite-org/laravel-url-signer
Files in fileinvite-org/laravel-url-signer
Package laravel-url-signer
Short Description Custom Signed Urls in Laravel
License MIT
Homepage https://github.com/fileinvite-org/laravel-url-signer
Informations about the package laravel-url-signer
Notice!
This package is forked and repackaged version of the lab66/laravel-url-signer. This is to enable support for Laravel framework versions 6.x and onwards, and to be used as FileInvite internal package.
Create secured URLs with a (un)limited lifetime in Laravel
This package can create URLs with a limited lifetime. This is done by adding an expiration date and a signature to the URL.
Requires Laravel 5.3+.
This is how you can create signed URL that's valid for 30 minutes:
The output will look like this:
The URL can be validated with the validate
-function.
The package also provides a middleware to protect routes.
Installation
As you would have guessed the package can be installed via Composer:
To enable the package, register the serviceprovider, and optionally register the facade:
Configuration
The configuration file can optionally be published via:
This is the contents of the file:
Usage
Signing URLs
URL's can be signed with the sign
-method:
By default the lifetime of an URL is one hour. This value can be change in the config-file. If you want a custom life time, you can specify the number of minutes the URL should be valid:
For fine grained control, you may also pass a DateTime
instance as the second parameter. The url
will be valid up to that moment. This example uses Carbon for convenience:
Validating URLs
To validate a signed URL, simply call the validate()
-method. This return a boolean.
Protecting routes with middleware
The package also provides a middleware to protect routes:
Your app will abort with a 403 status code if the route is called without a valid signature.
Regenerating keys
This package also exposes functions to regenerate the keys in your configuration, it might be good to do this after each deployment, this will invalidate all old signed urls.
You will need to have published the configuration file before running this command.
There is also an optional parameter for complexity of the key, depending on complexity this may affect speed of signing/validation.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
Usage outside Laravel
If you're working on a non-Laravel project, you can use the framework agnostic version by Spatie.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] or by using the issue tracker.
Credits
- Jak Wilkins
- Sebastian De Deyne
- All Contributors
About
This project originated from https://github.com/spatie/laravel-url-signer but was rewritten to be an all inclusive package, with support for OpenSSL public/private keys.
License
The MIT License (MIT). Please see License File for more information.