1
1
<?php
2
2
declare (strict_types=1 );
3
- namespace RestJS \Trait ;
3
+ namespace RestJS \Abstract ;
4
4
5
5
use RestJS \Class \Response ;
6
6
use function RestJS \errorHandler ;
7
7
use function RestJS \response ;
8
8
use Slim \Exception \HttpBadRequestException ;
9
9
use Slim \Exception \HttpUnauthorizedException ;
10
10
11
- /** Authorization Functions */
12
- trait Authorization {
11
+ /** Abstract Authorization Functions */
12
+ abstract class Authorization {
13
+
14
+ /** Model Class */
15
+ private $ model ;
16
+
17
+ /** Abstract Function for Set Model Class */
18
+ abstract protected function setModel ();
19
+
20
+ public function __construct () {
21
+ $ this ->model = $ this ->setModel ();
22
+ }
13
23
14
24
/** Login Function */
15
- public function login ($ req , $ res ) {
25
+ public function login ($ req , $ res ) {
16
26
17
27
/** Username Variable */
18
28
$ username = false ;
@@ -21,7 +31,7 @@ public function login($req, $res) {
21
31
$ password = false ;
22
32
23
33
// Overide Username and Password Value
24
- extract ( $ req ->getParsedBody () ?? []);
34
+ extract ($ req ->getParsedBody () ?? []);
25
35
26
36
// Check Login Credentials
27
37
if (!$ username || !$ password )
@@ -34,7 +44,7 @@ public function login($req, $res) {
34
44
throw new HttpUnauthorizedException ($ req , 'Invalid user credentials ' );
35
45
36
46
$ user = $ user [0 ];
37
-
47
+
38
48
/** Verify User Password */
39
49
$ isValidPassword = $ user ->verifyPassword ($ password );
40
50
@@ -43,7 +53,7 @@ public function login($req, $res) {
43
53
44
54
/** Generated Access Token */
45
55
$ accessToken = $ user ->generateAccessToken ();
46
-
56
+
47
57
// Add Authorization Cookies
48
58
setcookie ('SSID ' , $ accessToken , time () + 84600 * intval ($ _ENV ['ACCESS_TOKEN_EXPIRY ' ]), path: '/ ' , secure: true , httponly: true );
49
59
0 commit comments