1
1
<?php
2
2
3
+ declare (strict_types=1 );
4
+
3
5
namespace CommunityWithLegends \Http \Controllers ;
4
6
5
7
use CommunityWithLegends \Http \Requests \LoginRequest ;
6
8
use CommunityWithLegends \Http \Requests \RegisterRequest ;
7
9
use CommunityWithLegends \Models \User ;
8
- use Illuminate \Http \RedirectResponse ;
10
+ use Illuminate \Http \JsonResponse ;
9
11
use Illuminate \Http \Request ;
10
12
use Illuminate \Support \Facades \Auth ;
11
13
use Illuminate \Support \Facades \Hash ;
12
14
use Symfony \Component \HttpFoundation \Response as Status ;
13
15
14
16
class AuthController extends Controller
15
17
{
16
- public function login (LoginRequest $ loginRequest ): \ Illuminate \ Http \ JsonResponse
18
+ public function login (LoginRequest $ loginRequest ): JsonResponse
17
19
{
18
- if (Auth::attempt ($ loginRequest ->validated ())) {
19
- $ loginRequest ->session ()->regenerate ();
20
-
21
- return response ()->json ([
22
- "message " => "success " ,
23
- ])->setStatusCode (Status::HTTP_OK );
20
+ if (!Auth::attempt ($ loginRequest ->validated ())) {
21
+ return response ()->json ([
22
+ "message " => "The provided credentials do not match our records. " ,
23
+ ], Status::HTTP_FORBIDDEN );
24
24
}
25
25
26
+ $ user = Auth::user ();
27
+ $ user ->tokens ()->delete ();
28
+ $ token = $ user ->createToken ('api-token ' )->plainTextToken ;
29
+
26
30
return response ()->json ([
27
- "message " => "The provided credentials do not match our records. " ,
28
- ])->setStatusCode (Status::HTTP_FORBIDDEN );
31
+ "message " => "success " ,
32
+ "token " => $ token
33
+ ], Status::HTTP_OK );
29
34
}
30
- public function logout (Request $ request ): \Illuminate \Http \JsonResponse
35
+
36
+ public function logout (Request $ request ): JsonResponse
31
37
{
32
38
if (Auth::user ()) {
33
39
Auth::logout ();
@@ -36,7 +42,7 @@ public function logout(Request $request): \Illuminate\Http\JsonResponse
36
42
37
43
$ request ->session ()->regenerateToken ();
38
44
39
- return response ()->json ([
45
+ return response ()->json ([
40
46
"message " => "success " ,
41
47
])->setStatusCode (Status::HTTP_OK );
42
48
}
@@ -45,14 +51,15 @@ public function logout(Request $request): \Illuminate\Http\JsonResponse
45
51
"message " => "You are not logged in. " ,
46
52
])->setStatusCode (Status::HTTP_UNAUTHORIZED );
47
53
}
54
+
48
55
public function register (RegisterRequest $ registerRequest )
49
56
{
50
57
$ validated = $ registerRequest ->validated ();
51
- $ userExist = User::query ()->where (' email ' , $ validated [' email ' ])->exists ();
58
+ $ userExist = User::query ()->where (" email " , $ validated [" email " ])->exists ();
52
59
53
- if (!$ userExist ){
60
+ if (!$ userExist ) {
54
61
$ user = new User ($ validated );
55
- $ user ->password = Hash::make ($ validated [' password ' ]);
62
+ $ user ->password = Hash::make ($ validated [" password " ]);
56
63
$ user ->save ();
57
64
58
65
Auth::login ($ user );
@@ -62,5 +69,4 @@ public function register(RegisterRequest $registerRequest)
62
69
"message " => "success " ,
63
70
])->setStatusCode (Status::HTTP_OK );
64
71
}
65
-
66
72
}
0 commit comments