PHP code example of beskhue / cookietokenauth
1. Go to this page and download the library: Download beskhue/cookietokenauth library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
beskhue / cookietokenauth example snippets
Plugin::load('Beskhue/CookieTokenAuth', ['routes' => true]);
$this->loadComponent('Auth', [
'authenticate' => [
'Beskhue/CookieTokenAuth.CookieToken',
'Form'
]
]);
$this->loadComponent('Auth', [
'authenticate' => [
'Beskhue/CookieTokenAuth.CookieToken' => [
'fields' => ['username' => 'email', 'password' => 'passwd'],
'userModel' => 'Members'
],
'Form' => [
'fields' => ['username' => 'email', 'password' => 'passwd'],
'userModel' => 'Members'
],
]
]);
'fields' => [
'username' => 'username',
'password' => 'password',
],
'userModel' => 'Users',
'hash' => 'sha256',
'cookie' => [
'name' => 'userdata',
'expires' => '+10 weeks',
'encryption' => 'aes',
'httpOnly' => true
],
'minimizeCookieExposure' => true,
'minimizeCookieExposureRedirectCallback' => function(\Cake\Http\ServerRequest $request, \Cake\Http\Response $response) {
return true;
},
'setCookieAfterIdentify' => true,
'tokenError' => __('A session token mismatch was detected. You have been logged out.')
if(!$this->Auth->user())
{
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
}
public function identify()
{
$user = $this->Auth->user();
if ($user) {
$cookieTokenComponent = $this->Auth->getAuthenticate('Beskhue/CookieTokenAuth.CookieToken')->getCookieTokenComponent();
$cookieTokenComponent->setCookie($user['id']);
}
}
public function login()
{
// ...
$user = $this->Auth->user();
if($user) {
$this->Auth->setUser($user);
if($this->request->getData('remember_me')) {
$cookieTokenComponent = $this->Auth->getAuthenticate('Beskhue/CookieTokenAuth.CookieToken')->getCookieTokenComponent();
$cookieTokenComponent->setCookie($user['id']);
}
}
}
<?= $this->Form->checkbox('remember_me', ['id' => 'remember-me']);
$this->loadComponent('Auth', [
'authenticate' => [
'Beskhue/CookieTokenAuth.CookieToken' => [
'minimizeCookieExposure' => true,
'minimizeCookieExposureRedirectCallback' => function (\Cake\Http\ServerRequest $request, \Cake\Http\Response $response) {
return !$request->is('ajax');
}
]
]
]);
class AppController extends Controller
{
public function initialize()
{
/* ... */
$this->loadComponent('Auth', [
'authenticate' => [
'Beskhue/CookieTokenAuth.CookieToken' => [
'minimizeCookieExposure' => true,
'minimizeCookieExposureRedirectCallback' => array($this, 'minimizeCookieExposureRedirect')
]
]
]);
}
public function minimizeCookieExposureRedirect (\Cake\Http\ServerRequest $request, \Cake\Http\Response $response)
{
return !$request->is('ajax');
}
/* ... */
}
bash
php composer.phar update