Browse Source

updated Libraries/Aauth (added login token & cookie creation)

v3-dev
REJack 7 years ago
parent
commit
9bb2ac0f60
  1. 41
      application/Libraries/Aauth.php

41
application/Libraries/Aauth.php

@ -21,6 +21,7 @@
namespace App\Libraries; namespace App\Libraries;
use \App\Models\Aauth\UserModel as UserModel; use \App\Models\Aauth\UserModel as UserModel;
use \App\Models\Aauth\LoginAttemptModel as LoginAttemptModel; use \App\Models\Aauth\LoginAttemptModel as LoginAttemptModel;
use \App\Models\Aauth\LoginTokenModel as LoginTokenModel;
use \App\Models\Aauth\UserVariableModel as UserVariableModel; use \App\Models\Aauth\UserVariableModel as UserVariableModel;
class Aauth class Aauth
{ {
@ -243,7 +244,6 @@ class Aauth
* *
* @todo add TOTP * @todo add TOTP
* @todo add reCAPTCHA * @todo add reCAPTCHA
* @todo add Remeber Cookie aka LoginToken (new DB)
* *
* @param string $email * @param string $email
* @param string $pass * @param string $pass
@ -382,24 +382,31 @@ class Aauth
'email' => $user['email'], 'email' => $user['email'],
'loggedin' => true 'loggedin' => true
]; ];
$this->session->set($data); $this->session->set($data);
// if ( $remember ){ if ($remember)
// helper('text'); {
// $this->CI->load->helper('string'); $loginTokenModel = new LoginTokenModel();
// $expire = $this->config->loginRemember; helper('text');
// $remember_date = date("Y-m-d", strtotime($expire) ); $expire = $this->config->loginRemember;
// $random_string = random_string('alnum', 16); $userId = base64_encode($user['id']);
// $this->updateRemember($row->id, $random_string, $remember_date ); $randomString = random_string('alnum', 32);
// $cookie = array( $selectorString = random_string('alnum', 16);
// 'name' => 'user', $cookieData = [
// 'value' => $row->id . "-" . $random_string, 'name' => 'remember',
// 'expire' => 99*999*999, 'value' => $userId.';'.$randomString.';'.$selectorString,
// 'path' => '/', 'expire' => (strtotime($expire)-strtotime("now")),
// ); ];
// $this->CI->input->set_cookie($cookie); $tokenData = [
// } 'user_id' => $user['id'],
'random_hash' => password_hash($randomString, PASSWORD_DEFAULT),
'selector_hash' => password_hash($selectorString, PASSWORD_DEFAULT),
'expires_at' => date("Y-m-d", strtotime($expire)),
];
$loginTokenModel->insert($tokenData);
set_cookie($cookieData);
}
$userModel->updateLastLogin($user['id']); $userModel->updateLastLogin($user['id']);
$userModel->updateLastActivity($user['id']); $userModel->updateLastActivity($user['id']);

Loading…
Cancel
Save