kyslik / django-signer
Package for signing with timestamp (django like).
Installs: 289
Dependents: 0
Suggesters: 1
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Type:package
Requires
- php: ^7.0
- illuminate/support: 5.1.*|5.2.*|5.3.*|5.4.*
- jms/serializer: ^1.5.0
- tuupola/base62: ^0.7.0
Requires (Dev)
- phpunit/phpunit: ~6.0
- symfony/yaml: 3.2.*
This package is auto-updated.
Last update: 2024-12-06 10:31:00 UTC
README
This package is upgraded version of cwygoda/signing package, with timestamps support to match django 1.10 functionality.
Setup
Composer
Pull this package in through Composer (development/latest version dev-master
)
{
"require": {
"kyslik/django-signer": "0.0.*"
}
}
$ composer update
for Laravel 5.4
add timestamp-signer service provider
Kyslik\Django\Signing\SignerServiceProvider::class,
Usage
Instantiate new Signer object:
$signer = new Kyslik\Django\Signing\Signer('secret-key');
Note:
$separator
defaults to:
,$salt
defaults todjango.core.signing
Note: Exception is thrown in case of unsuccesfull unsigning.
Signing / unsigning without timestamp
You may sign a string:
$signer->sign('string'); // string:UDxi2Kxw-SF3UBWhiflQNiAQWeU
Unsign string (check validity):
$signer->unsign('string:UDxi2Kxw-SF3UBWhiflQNiAQWeU'); // string
Signing / unsigning with timestamp
Note: you may use
Signer::WITH_TIMESTAMP
instead oftrue
as second parameter
Sign string:
$signer->sign('string', true); // string:1ckUX7:o-VQHm4f82K8106IXlc36S5Cumw
Unsign string (check validity):
$signer->unsign('string:1ckUX7:o-VQHm4f82K8106IXlc36S5Cumw', true) // string
Unsign string and check max_age (in seconds):
$signer->setMaxAge(10)->unsign('string:1ckUX7:o-VQHm4f82K8106IXlc36S5Cumw', true);
Signing / unsigning object
$array = ['user' => 'abc'];
$dumped = $signer->dumps($array); // eyJ1c2VyIjoiYWJjIn0:1ckV8v:OFnlhdYlNBCgixtl3XErbUh2Jug
$laoded = $signer->loads($dumped);
//verify
var_dump(($loaded === $array)) // true