Files
exchange/app/Http/Controllers/Auth/LoginController.php
T
2018-06-22 11:29:22 +08:00

82 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
/**
* Attempt to log the user into the application.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function attemptLogin(Request $request)
{
$token = $this->guard()->attempt($this->credentials($request));
if ($token) {
$this->guard()->setToken($token);
return true;
}
return false;
}
/**
* Send the response after the user was authenticated.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendLoginResponse(Request $request)
{
$this->clearLoginAttempts($request);
$token = (string) $this->guard()->getToken();
$expiration = $this->guard()->getPayload()->get('exp');
return [
'token' => $token,
'token_type' => 'bearer',
'expires_in' => $expiration - time(),
];
}
/**
* Log the user out of the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
$this->guard()->logout();
}
public function authenticated(Request $request, $user)
{
if (!$user->verified) {
auth()->logout();
return response()->json(['warning','You need to confirm your account first. We have sent you an activation code, please check your email.']);
//return back()->with('warning', 'You need to confirm your account. We have sent you an activation code, please check your email.');
}
}
}