44
55use App \Http \Controllers \Controller ;
66use Illuminate \Foundation \Auth \AuthenticatesUsers ;
7+ use Illuminate \Http \Request ;
8+ use Illuminate \Support \Facades \Lang ;
79
810class LoginController extends Controller
911{
10- /*
11- |--------------------------------------------------------------------------
12- | Login Controller
13- |--------------------------------------------------------------------------
14- |
15- | This controller handles authenticating users for the application and
16- | redirecting them to your home screen. The controller uses a trait
17- | to conveniently provide its functionality to your applications.
18- |
19- */
2012
2113 use AuthenticatesUsers;
2214
23- /**
24- * Where to redirect users after login.
25- *
26- * @var string
27- */
28- protected $ redirectTo = '/home ' ;
15+ public function username ()
16+ {
17+ return 'username ' ;
18+ }
2919
3020 /**
3121 * Create a new controller instance.
@@ -36,4 +26,56 @@ public function __construct()
3626 {
3727 $ this ->middleware ('guest ' , ['except ' => 'logout ' ]);
3828 }
29+
30+ /**
31+ * @SWG\Post(
32+ * tags={"auth"},
33+ * path="/auth/token",
34+ * operationId="token",
35+ * summary="Request new JWT Token.",
36+ * description="",
37+ * consumes={"application/json", "application/xml"},
38+ * produces={"application/xml", "application/json"},
39+ * @SWG\Parameter(
40+ * name="username",
41+ * in="query",
42+ * type="string",
43+ * description="ID",
44+ * required=true,
45+ * ),
46+ * @SWG\Parameter(
47+ * name="password",
48+ * in="query",
49+ * type="string",
50+ * description="Password",
51+ * required=true,
52+ * ),
53+ * @SWG\Response(
54+ * response=200,
55+ * description="Token successful",
56+ * )
57+ * )
58+ */
59+ public function login (Request $ request )
60+ {
61+
62+ $ credentials = [
63+ 'username ' => $ request ['username ' ],
64+ 'password ' => $ request ['password ' ],
65+ ];
66+
67+ $ this ->validateLogin ($ request );
68+
69+ if ($ token = $ this ->guard ()->attempt ($ credentials )) {
70+ $ this ->clearLoginAttempts ($ request );
71+ return response ()->json ([
72+ 'token ' => $ token ,
73+ ]);
74+ }
75+
76+ return response ()->json ([
77+ 'message ' => Lang::get ('auth.failed ' ),
78+ ], 401 );
79+
80+ }
3981}
0 commit comments