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