Download the PHP package kaiquegarcia/lumen-nginx-secure-link without Composer
On this page you can find all versions of the php package kaiquegarcia/lumen-nginx-secure-link. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kaiquegarcia/lumen-nginx-secure-link
More information about kaiquegarcia/lumen-nginx-secure-link
Files in kaiquegarcia/lumen-nginx-secure-link
Package lumen-nginx-secure-link
Short Description Trait to easily adapt a Lumen/Laravel project for using NGINX secure link
License MIT
Informations about the package lumen-nginx-secure-link
lumen-nginx-secure-link
Trait to easily adapt a Lumen/Laravel project for using NGINX secure link
Install & Setup
Require this package to your Lumen/Laravel project with composer;
Laravel / Lumen Setup
- Add
NGINX_SECURE_LINK_SECRET
andNGINX_SECURE_LINK_TTL
to your.env
file; - Run
php artisan vendor:publish --provider="Nginx\SecureLink\Providers\SecureLinkServiceProvider"
; - Run
php artisan config:clear
.
Nginx Setup
You need to create a configuration to each route you want to keep signed.
And before making any setup, remember to compile the source or run apt get install nginx-extras
.
NGINX Configuration (usage example https://yourdomain.com/signed-route/file.zip)
Explaining those environments
NGINX_SECURE_LINK_SECRET
is the "password" you gonna keep in the back-end. You must put it on your environment file AND in each nginx configuration;NGINX_SECURE_LINK_TTL
is the time in seconds the generated secure_link will expire.
How to use
Add to your Eloquent Model a simple use \Nginx\SecureLink\Traits\WithSecureLink
and you'll be ready, considering the attribute origin's called link
. For example:
Model implementation
Usage
Customizing the origin attribute
You can and should have the possibility to create the secure_link based on other model attributes. To do this, just override the protected property $secure_link_origin_attribute
. For example:
Model implementation
Customizing the IP Provider
As this project were made to Lumen framework, it can have some failures when trying to catch the user Client IP. The reason for that is we're using the class Illuminate\Http\Request
to reach the ip
method.
If you have any trouble with this, you can develop any class you want to with the same method and override the protected property $secure_link_ip_class_provider
. For example: