| | <?php |
| |
|
| | namespace Kanboard\Auth; |
| |
|
| | use Kanboard\Core\Base; |
| | use Kanboard\Core\Security\PreAuthenticationProviderInterface; |
| | use Kanboard\User\DatabaseUserProvider; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | class RememberMeAuth extends Base implements PreAuthenticationProviderInterface |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected $userInfo = array(); |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getName() |
| | { |
| | return 'RememberMe'; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function authenticate() |
| | { |
| | $credentials = $this->rememberMeCookie->read(); |
| |
|
| | if ($credentials !== false) { |
| | $session = $this->rememberMeSessionModel->find($credentials['token'], $credentials['sequence']); |
| |
|
| | if (! empty($session)) { |
| | $this->rememberMeCookie->write( |
| | $session['token'], |
| | $this->rememberMeSessionModel->updateSequence($session['token']), |
| | $session['expiration'] |
| | ); |
| |
|
| | $this->userInfo = $this->userModel->getById($session['user_id']); |
| |
|
| | return true; |
| | } |
| | } |
| |
|
| | return false; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | public function getUser() |
| | { |
| | if (empty($this->userInfo)) { |
| | return null; |
| | } |
| |
|
| | return new DatabaseUserProvider($this->userInfo); |
| | } |
| | } |
| |
|