wearesho-team / yii-tokens
Yii2 Tokens Library (internal, legacy)
Installs: 560
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:proprietary
Requires
- php: ^8.1
- horat1us/yii2-carbon-behavior: ^1.2
- horat1us/yii2-validation-exception: ^1.1
- nesbot/carbon: ^2.24 || ^3
- wearesho-team/message-delivery: ^1.7
- yiisoft/yii2: ^2.0.47
Requires (Dev)
- horat1us/yii2-asset-free: ^1.0
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-11-21 14:35:39 UTC
README
Verifying some action by sending token (SMS, Email, Telegram etc.)
Compatible only with MySQL and PostgreSQL
CHANGELOG
Installation
composer require wearesho-team/yii-tokens:^3.0
Migrations
- Copy migrations into your project
cd path-to-your-project
cp -R ./vendor/wearesho-team/yii-tokens/migrations ./console/migrations
Configuration
Environment
Default TokenRepositoryConfig loads configuration from environment variables. Environment variables name may be changed, defaults:
- TOKEN_EXPIRE_MINUTES - minutes from creating token when it will be invalidated
- TOKEN_VERIFY_LIMIT - maximum verifying limit (used by TokenValidator)
- TOKEN_DELIVERY_LIMIT - maximum sending limit (used by TokenRepository, send method)
Container
You should configure your DI-container to use environment config:
<?php // bootstrap.php use Wearesho\Yii\Interfaces\TokenRepositoryConfigInterface; use Wearesho\Yii\Configs\TokenRepositoryConfig; Yii::$container->set( TokenRepositoryConfigInterface::class, [ 'class' => TokenRepositoryConfig::class, // Changing environment variables names 'expirePeriodKey' => 'TOKEN_EXPIRE_MINUTES', // optional 'verifyLimitKey' => 'TOKEN_VERIFY_LIMIT', // optional 'deliveryLimitKey' => 'TOKEN_DELIVERY_LIMIT', // optional // Defaults (if no env variables set) 'defaultExpirePeriod' => 30, // optional 'defaultDeliveryLimit' => 3, // optional 'defaultVerifyLimit' => 3, // optional ] );
Contribution
Run Tests
Run test MySQL database
docker compose up -d
Run tests
composer lint
composer test
Down test MySQL database
docker compose down
TODO
- Documentation
- Tests for exceptions
License
Unlicensed