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() protected function setContainer()
{ {
$di = Yii::$container;
// helpers // 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 // active query classes
Yii::$container->set(AccountQuery::class); Yii::$container->set('\Da\User\Query\AccountQuery');
Yii::$container->set(ProfileQuery::class); Yii::$container->set('\Da\User\Query\ProfileQuery');
Yii::$container->set(TokenQuery::class); Yii::$container->set('\Da\User\Query\TokenQuery');
Yii::$container->set(UserQuery::class); 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 <?php
namespace Da\User; namespace Da\User;
use Da\User\Strategy\DefaultEmailChangeStrategy;
/** /**
* *
* Module.php * Module.php
@ -11,11 +13,34 @@ namespace Da\User;
*/ */
class Module extends \yii\base\Module 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. * @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 * @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
{
}