credy / yii2-authchoiceremember
There is no license information available for the latest version (1.0.0) of this package.
Yii2 AuthChoice extension for 'remember me' functionality
1.0.0
2023-07-13 12:34 UTC
Requires
- yiisoft/yii2: ^2.0
- yiisoft/yii2-authclient: ^2.2
Requires (Dev)
- codeception/codeception: ^4.2
- codeception/module-asserts: ^1.0.0
- codeception/module-phpbrowser: ^1.0.0
- codeception/module-webdriver: ^1.4|^2.0|3.0|^4.0
- codeception/module-yii2: ^1.1
- credy/phpbuiltinserver: dev-master
- credy/tc-coding-standard: dev-master
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
This package is auto-updated.
Last update: 2024-10-13 15:13:00 UTC
README
Installation:
composer require credy/yii2-authchoiceremember:"^1.0"
Configuration:
LogoutBehavior:
Put following snippet into your config
return [
'components' => [
'user' => [
'identityClass' => \common\models\User::class,
'enableAutoLogin' => true,
'as logoutBehavior' => credy\authchoiceremember\behaviors\LogoutBehavior::class,
]
]
];
AuthAction:
Put following snippet into your config
return [
'components' => [
'authClientCollection' => [
'class' => yii\authclient\Collection::class,
'clients' => [
'google' => [
'class' => yii\authclient\clients\Google::class,
'parametersToKeepInReturnUrl' => [
'authclient',
'rememberMe',
'duration',
],
]
]
],
],
];
Usage:
In your user model:
class User extends ActiveRecord implements IdentityInterface
{
public function behaviors()
{
return ArrayHelper::merge(parent::behaviors(), [
'logoutIdentityBehavior' => [
'class' => LogoutIdentityBehavior::class,
'callback' => [$this, 'changeAuthKey']
]
]);
}
public function changeAuthKey()
{
$this->auth_key = Yii::$app->security->generateRandomString();
$this->save();
}
}
In your view:
// in your view
echo credy\authchoiceremember\AuthChoice::widget([
'baseAuthUrl' => ['site/auth'],
'popupMode' => false,
'askRememberMe' => true,
'loginDuration' => 3600 * 24 * 14,
])