be-starter-template/Modules/Auth/app/Http/Controllers/LoginController.php

42 lines
992 B
PHP

<?php
namespace Modules\Auth\app\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Http\Middleware\Authenticate;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
protected function respondWithToken($token)
{
return response()->json([
'access_token' => $token,
'token_type' => 'bearer',
'expires_in' => Auth::factory()->getTTL() * 60
]);
}
/**
* handle login api
*
* @param \Illuminate\Http\Request $request
* @return void
*/
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if ($token = Auth::attempt($credentials)) {
return $this->respondWithToken($token);
}
return response()->json([
'message' => 'Unauthenticated.'
], 401);
}
}