parent
0762f95efd
commit
9225b02986
3 changed files with 89 additions and 1 deletions
@ -0,0 +1,43 @@ |
||||
<?php |
||||
|
||||
namespace App\Http\Controllers\Api; |
||||
|
||||
use App\Http\Controllers\Controller; |
||||
use Illuminate\Http\Request; |
||||
use Illuminate\Support\Facades\Auth; |
||||
use App\Http\Controllers\Api\BaseAuthApiController as BaseAuthApiController; |
||||
|
||||
class AuthApiController extends BaseAuthApiController |
||||
{ |
||||
// |
||||
public function login(Request $request) |
||||
{ |
||||
$validator = \Illuminate\Support\Facades\Validator::make($request->all(), [ |
||||
'username' => 'required|email', |
||||
'password' => 'required' |
||||
]); |
||||
if($validator->fails()){ |
||||
return $this->sendError('Validation Error.', $validator->errors()); |
||||
} |
||||
|
||||
if (!Auth::attempt(['email' => $request->username, 'password' => $request->password])) { |
||||
return $this->sendError('Unauthorised.', ['error' => 'Unauthorised']); |
||||
} |
||||
$user = \App\Models\User::where('email', $request->username)->first(); |
||||
|
||||
if (empty($user)) { |
||||
$this->sendError('Error: ', ['error' => 'Email invalid']); |
||||
} |
||||
|
||||
// Creating a token without scopes... |
||||
$token = $user->createToken($user->id . ' token ' . time(), ['*'])->accessToken; |
||||
|
||||
$data['access_token'] = $token; |
||||
$data['token_type'] = 'Bearer'; |
||||
$data['expires_in'] = 1296000; |
||||
$data['refresh_token'] = $token; |
||||
|
||||
return $this->sendResponse($data, 'User login successfully.'); |
||||
// return response()->json($data, 200); |
||||
} |
||||
} |
@ -0,0 +1,41 @@ |
||||
<?php |
||||
|
||||
namespace App\Http\Controllers\Api; |
||||
use Illuminate\Http\Request; |
||||
use App\Http\Controllers\Controller as Controller; |
||||
|
||||
class BaseAuthApiController extends Controller |
||||
{ |
||||
/** |
||||
* success response method. |
||||
* |
||||
* @return \Illuminate\Http\Response |
||||
*/ |
||||
public function sendResponse($result, $message) |
||||
{ |
||||
$response = [ |
||||
'success' => true, |
||||
'data' => $result, |
||||
'message' => $message, |
||||
]; |
||||
return response()->json($response, 200); |
||||
} |
||||
|
||||
/** |
||||
* return error response. |
||||
* |
||||
* @return \Illuminate\Http\Response |
||||
*/ |
||||
public function sendError($error, $errorMessages = [], $code = 404) |
||||
{ |
||||
$response = [ |
||||
'success' => false, |
||||
'message' => $error, |
||||
]; |
||||
|
||||
if(!empty($errorMessages)){ |
||||
$response['data'] = $errorMessages; |
||||
} |
||||
return response()->json($response, $code); |
||||
} |
||||
} |
Loading…
Reference in new issue