summaryrefslogtreecommitdiff
path: root/core/classes/authenticator/UserManager.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-13 02:22:07 +0200
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-03-13 02:22:07 +0200
commitd9167fb5318d5370ba5445e94c0e0f9b64341df4 (patch)
treee624d80cd4d7ab040214ef85cfbaef31dbbb970d /core/classes/authenticator/UserManager.php
parent33266244e8c75c29f31dd5dce756e55fb10a0b9b (diff)
downloadclassroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.tar.gz
classroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.tar.bz2
classroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.zip
authentication skeleton
Diffstat (limited to 'core/classes/authenticator/UserManager.php')
-rw-r--r--core/classes/authenticator/UserManager.php69
1 files changed, 0 insertions, 69 deletions
diff --git a/core/classes/authenticator/UserManager.php b/core/classes/authenticator/UserManager.php
deleted file mode 100644
index 36f0d16..0000000
--- a/core/classes/authenticator/UserManager.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-// namespace DevCoder\Authentication\Core;
-//
-// use DevCoder\Authentication\Token\UserToken;
-// use DevCoder\Authentication\Token\UserTokenInterface;
-// use DevCoder\Authentication\UserInterface;
-
-/**
- * Class UserManager
- * @package DevCoder\Authentication\Core
- */
-class UserManager implements UserManagerInterface
-{
-
- use PasswordTrait;
-
- public function __construct()
- {
- if (session_status() === PHP_SESSION_NONE) {
- session_start();
- }
- }
-
- public function getUserToken(): ?UserTokenInterface
- {
- $userToken = null;
- if ($this->hasUserToken()) {
- $userToken = unserialize($_SESSION[UserTokenInterface::DEFAULT_PREFIX_KEY]);
- }
-
- return $userToken;
- }
-
- public function hasUserToken(): bool
- {
- $key = UserTokenInterface::DEFAULT_PREFIX_KEY;
- return (array_key_exists($key, $_SESSION) && unserialize($_SESSION[$key]) !== false);
- }
-
- public function isGranted(array $roles): bool
- {
- if (!is_null($userToken = $this->getUserToken())) {
- return false;
- }
-
- if ($userToken->getUser() instanceof UserInterface) {
- return (!empty(array_intersect($roles, $userToken->getUser()->getRoles())));
- }
-
- return false;
- }
-
- public function createUserToken(UserInterface $user): UserTokenInterface
- {
- $userToken = new UserToken($user);
- $_SESSION[UserTokenInterface::DEFAULT_PREFIX_KEY] = $userToken->serialize();
-
- return $userToken;
- }
-
- public function logout(): void
- {
- if ($this->hasUserToken()) {
- unset($_SESSION[UserTokenInterface::DEFAULT_PREFIX_KEY]);
- }
- }
-}
-