add some attributes + email change strategies base classes + interface

This commit is contained in:
Antonio Ramirez
2016-12-03 16:29:08 +01:00
parent a6c48a3d1d
commit e60f7ee56f
6 changed files with 104 additions and 7 deletions

View File

@ -31,13 +31,19 @@ class Bootstrap implements BootstrapInterface
protected function setContainer()
{
$di = Yii::$container;
// helpers
Yii::$container->set(AuthHelper::class);
$di->set('\Da\User\Helper\AuthHelper');
// email change strategy
$di->set('\Da\User\Strategy\DefaultEmailChangeStrategy');
$di->set('\Da\User\Strategy\InsecureEmailChangeStrategy');
$di->set('\Da\User\Strategy\SecureEmailChangeStrategy');
// active query classes
Yii::$container->set(AccountQuery::class);
Yii::$container->set(ProfileQuery::class);
Yii::$container->set(TokenQuery::class);
Yii::$container->set(UserQuery::class);
Yii::$container->set('\Da\User\Query\AccountQuery');
Yii::$container->set('\Da\User\Query\ProfileQuery');
Yii::$container->set('\Da\User\Query\TokenQuery');
Yii::$container->set('\Da\User\Query\UserQuery');
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace Da\User\Contracts;
/**
*
* StrategyInterface.php
*
* Date: 3/12/16
* Time: 16:23
* @author Antonio Ramirez <hola@2amigos.us>
*/
interface StrategyInterface
{
}

View File

@ -1,6 +1,8 @@
<?php
namespace Da\User;
use Da\User\Strategy\DefaultEmailChangeStrategy;
/**
*
* Module.php
@ -11,11 +13,34 @@ namespace Da\User;
*/
class Module extends \yii\base\Module
{
public $token
/**
* @var bool whether to allow registration process or not.
*/
public $allowRegistration = true;
/**
* @var bool whether to force email confirmation to.
*/
public $forceEmailConfirmation = true;
/**
* @var bool whether to allow login accounts with unconfirmed emails.
*/
public $allowUnconfirmedEmailLogin = false;
/**
* @var string the class name of the strategy class to handle user's email change.
*/
public $emailChangeStrategy = DefaultEmailChangeStrategy::class;
/**
* @var int the time user will be auto logged in.
*/
public $rememberLoginLifespan = 1209600;
/**
* @var int the time before the confirmation token becomes invalid. Defaults to 24 hours.
*/
public $tokenConfirmationLifespan = 86400;
/**
* @var int the time before a recovery token is invalid. Defaults to 6 hours.
*/
public $tokenRecoveryWithin = 21600;
public $tokenRecoveryLifespan = 21600;
/**
* @var array a list of admin usernames
*/

View File

@ -0,0 +1,17 @@
<?php
namespace Da\User\Strategy;
use Da\User\Contracts\StrategyInterface;
/**
*
* DefaultEmailChangeStrategy.php
*
* Date: 3/12/16
* Time: 16:22
* @author Antonio Ramirez <hola@2amigos.us>
*/
class DefaultEmailChangeStrategy implements StrategyInterface
{
}

View File

@ -0,0 +1,17 @@
<?php
namespace Da\User\Strategy;
use Da\User\Contracts\StrategyInterface;
/**
*
* InsecuredEmailChangeStrategy.php
*
* Date: 3/12/16
* Time: 16:21
* @author Antonio Ramirez <hola@2amigos.us>
*/
class InsecuredEmailChangeStrategy implements StrategyInterface
{
}

View File

@ -0,0 +1,17 @@
<?php
namespace Da\User\Strategy;
use Da\User\Contracts\StrategyInterface;
/**
*
* SecuredEmailChangeStrategy.php
*
* Date: 3/12/16
* Time: 16:20
* @author Antonio Ramirez <hola@2amigos.us>
*/
class SecureEmailChangeStrategy implements StrategyInterface
{
}