Skip to content

Commit df23ef0

Browse files
authored
Merge pull request #28 from cristianopacheco/master
Added comments in LoginController.
2 parents 2aef1f7 + 23cc4a7 commit df23ef0

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

webservice/app/Http/Controllers/LoginController.php

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,76 @@ class LoginController extends Controller
1212
{
1313
use ThrottlesLogins;
1414

15+
/**
16+
* Issue a JWT token when valid login credentials are
17+
* presented.
18+
*
19+
* @param Request $request
20+
* @return \Illuminate\Http\JsonResponse
21+
*/
1522
public function login(Request $request)
1623
{
24+
// Determine if the user has too many failed login attempts.
1725
if ($this->hasTooManyLoginAttempts($request)) {
26+
27+
// Fire an event when a lockout occurs.
1828
$this->fireLockoutEvent($request);
1929

2030
return $this->sendLockoutResponse($request);
2131
}
2232

33+
// Grab credentials from the request.
2334
$credentials = $request->only('email', 'password');
2435

36+
// Attempt to verify the credentials and create a token for the user.
2537
if ($token = Auth::guard('api')->attempt($credentials)) {
38+
39+
// All good so return the json with token and user.
2640
return $this->sendLoginResponse($request, $token);
2741
}
2842

43+
// Increments login attempts.
2944
$this->incrementLoginAttempts($request);
3045

3146
return $this->sendFailedLoginResponse($request);
3247
}
3348

49+
/**
50+
* Return the token and current user authenticated.
51+
*
52+
* @param Request $request
53+
* @param $token
54+
* @return \Illuminate\Http\JsonResponse
55+
*/
3456
protected function sendLoginResponse(Request $request, $token)
3557
{
58+
// Clear the login locks for the given user credentials.
3659
$this->clearLoginAttempts($request);
3760

3861
$user = Auth::guard('api')->user();
3962

4063
return response()->json(compact('token', 'user'));
4164
}
4265

66+
/**
67+
* Return error message after determining invalid credentials.
68+
*
69+
* @param \Illuminate\Http\Request $request
70+
* @return \Illuminate\Http\JsonResponse
71+
*/
4372
protected function sendFailedLoginResponse(Request $request)
4473
{
4574
$message = Lang::get('auth.failed');
4675

4776
return response()->json(['messages' => [$message]], 401);
4877
}
4978

79+
/**
80+
* Redirect the user after determining they are locked out.
81+
*
82+
* @param \Illuminate\Http\Request $request
83+
* @return \Illuminate\Http\JsonResponse
84+
*/
5085
public function sendLockoutResponse(Request $request)
5186
{
5287
$seconds = $this->limiter()->availableIn(

0 commit comments

Comments
 (0)