diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 07:16:23 +0200 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-03-12 07:16:23 +0200 |
| commit | 7076343338ae3439f3c86f01144818abe8c31978 (patch) | |
| tree | 794abb1e6b8f821091fd095341885496b6dad51d /classes/authenticator/info.md | |
| parent | 47cbb529f5723b246125ae083a193e11481b89ef (diff) | |
| download | classroom-7076343338ae3439f3c86f01144818abe8c31978.tar.gz classroom-7076343338ae3439f3c86f01144818abe8c31978.tar.bz2 classroom-7076343338ae3439f3c86f01144818abe8c31978.zip | |
add container helpers; constuct public directory-tree
Diffstat (limited to 'classes/authenticator/info.md')
| -rw-r--r-- | classes/authenticator/info.md | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/classes/authenticator/info.md b/classes/authenticator/info.md deleted file mode 100644 index e6d1372..0000000 --- a/classes/authenticator/info.md +++ /dev/null @@ -1,114 +0,0 @@ -# Authentication System - -read/ref: https://dev.to/fadymr/php-create-your-own-php-authentication-4e20 - -also for session: https://dev.to/fadymr/php-create-a-simple-session-wrapper-class-dpk - - - -## How to use ? - - -### Registration - - - // use DevCoder\Authentication\Core\UserManager; - // use DevCoder\Authentication\User; - - // register - $userManager = new UserManager(); - $req = Registry::get('REQUEST); - - $password = $userManager->cryptPassword($req->POST['password']); - - $user = (new User()) - ->setUserName($req->POST['username']) - ->setPassword($password) - ->setRoles(['ROLE_USER']); - - $userManager->createUserToken($user); - - // check Token in Session - var_dump($userManager->getUserToken()); - // object(DevCoder\Authentication\Token\UserToken)[4] - // private 'user' => - // object(DevCoder\Authentication\User)[5] - // private 'userName' => string 'username' (length=8) - // private 'password' => string '$2y$10$iWdcmebmikUFlgKMqW7/rOmUp1DjFAuWKqdUHBhL08FZ7LL6bwRey' (length=60) - // private 'roles' => - // array (size=1) - // 0 => string 'ROLE_USER' (length=9) - // private 'enabled' => boolean true - - -## Connected or not - - <?php - - // use DevCoder\Authentication\Core\UserManager; - // use DevCoder\Authentication\User; - - $userManager = new UserManager(); - if ($userManager->hasUserToken()) { - // connected - - $token = $userManager->getUserToken(); - $user = $token->getUser(); - var_dump($user); - // object(DevCoder\Authentication\User)[5] - // private 'userName' => string 'username' (length=8) - // private 'password' => string '$2y$10$OBobeLhdvdiftuedlv1a6e4.qF6sCG/usq5WEV4E3uB.UiS1egv/m' (length=60) - // private 'roles' => - // array (size=1) - // 0 => string 'ROLE_USER' (length=9) - // private 'enabled' => boolean true - - } else { - // not connected - } - - -## Access management - - $userManager = new UserManager(); - if ($userManager->isGranted(['ROLE_ADMIN'])) { - //is admin - // return Response 200 - }else { - //is not admin - // return Response 403 - } - - Logout - - $userManager = new UserManager(); - $userManager->logout(); - - -## Login - - <?php - - use DevCoder\Authentication\Core\UserManager; - - $stmt = $pdo->prepare("SELECT * FROM users WHERE username=?"); - $stmt->execute([$_POST['username']]); - $userFromDataBase = $stmt->fetch(); - /** - * Hydration - */ - $user = (new \Test\DevCoder\Authentication\User()) - ->setUserName($userFromDataBase['username']) - ->setPassword($userFromDataBase['password']) - ->setRoles(json_decode($userFromDataBase['roles'])) - ->setEnabled($userFromDataBase['active']); - - $userManager = new UserManager(); - if ($userManager->isPasswordValid($user, $_POST['password'])) { - - // login OK, set Token in session - $userManager->createUserToken($user); - - } else { - // login failed , return error - } |
