(Guillermo) Add-email-sender-class

This commit is contained in:
AntonyAntonio 2016-07-14 03:34:13 -03:00
parent 533e34c395
commit 48fe22c536
4 changed files with 23 additions and 19 deletions

View File

@ -5,7 +5,7 @@ class LoginController extends Controller {
private $userInstance; private $userInstance;
private $session; private $session;
private $remembertoken; private $rememberToken;
public function validations() { public function validations() {
return [ return [
@ -38,6 +38,15 @@ class LoginController extends Controller {
return ($this->getUserByInputCredentials() !== null); return ($this->getUserByInputCredentials() !== null);
} }
private function isTokenValid() {
$sessionCookie = SessionCookie::getDataStore(Controller::request('rememberToken'),'token');
$userid = Controller::request('userId');
if ($sessionCookie !== null && $userid === $sessionCookie->user->id) {
$this->userInstance = $sessionCookie->user;
return true;
}
}
private function createUserSession() { private function createUserSession() {
$this->getSession()->createSession($this->userInstance->id); $this->getSession()->createSession($this->userInstance->id);
} }
@ -49,7 +58,7 @@ class LoginController extends Controller {
'userId' => $userInstance->id, 'userId' => $userInstance->id,
'userEmail' => $userInstance->email, 'userEmail' => $userInstance->email,
'token' => $this->getSession()->getToken(), 'token' => $this->getSession()->getToken(),
'rememberToken' => $this->remembertoken 'rememberToken' => $this->rememberToken
); );
} }
@ -71,25 +80,19 @@ class LoginController extends Controller {
return $this->session; return $this->session;
} }
private function isTokenValid(){
$sessioncookie = SessionCookie::getDataStore(Controller::request('rememberToken'),'token');
if($sessioncookie !== null){
$this->userInstance = $sessioncookie->user;
return true;
}
}
private function createSessionCookie(){ private function createSessionCookie(){
$remember = Controller::request('remember'); $remember = Controller::request('remember');
if($remember){ if($remember){
$this->remembertoken = md5(uniqid(rand())); $this->rememberToken = Hashing::generateRandomToken();
$sessionCookie = new SessionCookie();
$sessioncookie = new SessionCookie(); $sessionCookie->setProperties(array(
$sessioncookie->setProperties(array(
'user' => $this->userInstance->getBeanInstance(), 'user' => $this->userInstance->getBeanInstance(),
'token' => $this->remembertoken 'token' => $this->rememberToken,
'ip' => $_SERVER[REMOTE_ADDR],
'creationDate' => date("d-m-Y (H:i:s)"
)); ));
$sessioncookie->store(); $sessionCookie->store();
} }
} }
} }

View File

@ -7,4 +7,7 @@ class Hashing {
public static function verifyPassword($password, $hash) { public static function verifyPassword($password, $hash) {
return password_verify($password, $hash); return password_verify($password, $hash);
} }
public static function generateRandomToken() {
return md5(uniqid(rand()));
}
} }

View File

@ -65,6 +65,6 @@ class Session {
} }
private function generateToken() { private function generateToken() {
return md5(uniqid(rand())); return Hashing::generateRandomToken();;
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
class SessionCookie extends DataStore { class sessioncookie extends DataStore {
const TABLE = 'session'; const TABLE = 'session';
public static function getProps() { public static function getProps() {
@ -11,9 +11,7 @@ class SessionCookie extends DataStore {
'creationDate', 'creationDate',
'expirationDate' 'expirationDate'
); );
} }
protected function getDefaultProps() { protected function getDefaultProps() {
return array(); return array();
} }