pageon / expiring-token
A cryptographically safe token with a build in customizable expiration date
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^6.0
- squizlabs/php_codesniffer: ^2.8
This package is not auto-updated.
Last update: 2024-11-13 11:20:59 UTC
README
The expiring token generates a random token of 128 characters with an expiration date.
The token uses base64 but the length is calculated so that it is url safe, so no padding with the = character.
The actual token is generated with random_bytes with a length of 32
Installation
You can add this library as a local, per-project dependency to your project using Composer:
composer require pageon/expiring-token
Public api
ExpiringToken::create
You can create a new token this way. It accepts a DateInterval as optional parameter to set a different expiration date.
The default expiration date is 3 days.
ExpiringToken::fromString
Used to create an instance of the token from the string representation
ExpiringToken::__toString
This turns the class instance into the string version of the token when the instance is used as or cast to a string.
ExpiringToken::validateAgainst
This can be used to validate the current token against an other token
- When the tokens maths this method will return
true
- An
InvalidToken
exception will be thrown if the tokens don't match - An
TokenHasExpired
exception will be thrown if the token has expired
ExpiringToken::hasExpired
Returns a bool indicating if the current token has expired
ExpiringToken::getExpiresOn
Can be used to get the expiration date of the token