summaryrefslogtreecommitdiff
path: root/core/classes/authenticator/info.md
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/info.md
parent33266244e8c75c29f31dd5dce756e55fb10a0b9b (diff)
downloadclassroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.tar.gz
classroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.tar.bz2
classroom-d9167fb5318d5370ba5445e94c0e0f9b64341df4.zip
authentication skeleton
Diffstat (limited to 'core/classes/authenticator/info.md')
-rw-r--r--core/classes/authenticator/info.md114
1 files changed, 0 insertions, 114 deletions
diff --git a/core/classes/authenticator/info.md b/core/classes/authenticator/info.md
deleted file mode 100644
index e6d1372..0000000
--- a/core/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
- }