56 lines
1.8 KiB
PHP
56 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\UsersModel;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Cookie;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Psy\TabCompletion\Matcher\FunctionsMatcher;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class AuthController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
return response()->json(['message' => 'succes', 'data' => 'data user'], 200);
|
|
}
|
|
|
|
public function login(Request $request)
|
|
{
|
|
if (!Auth::attempt($request->only('email', 'password'))) {
|
|
return response()->json(['status' => 'error', 'message' => 'invalid credentials'], Response::HTTP_UNAUTHORIZED);
|
|
}
|
|
$user = Auth::user();
|
|
$token = $user->createToken('token')->plainTextToken;
|
|
$cookie = cookie('jwt', $token, 60 * 2);
|
|
|
|
UsersModel::where('id', $user->id)
|
|
->update(['remember_token' => $token]);
|
|
|
|
return response()->json([
|
|
'data' => UsersModel::select(['id', 'user_name', 'name', 'email'])->where('id', $user->id)->first(),
|
|
'token' => $token,
|
|
'metadata' => ['status' => 'Ok', 'message' => 'Success']
|
|
])->withCookie($cookie);
|
|
}
|
|
|
|
public function userAuth()
|
|
{
|
|
$user = Auth::user();
|
|
return response()->json(['data' => 'hallloooo', 'metadata' => ['status' => 'Ok', 'message' => 'success']]);
|
|
// return $user;
|
|
}
|
|
|
|
public function logout()
|
|
{
|
|
$cookie = Cookie::forget('jwt');
|
|
// if ($cookie) {
|
|
// return response()->json(['metadata' => ['status' => '400', 'message' => 'error']], Response::HTTP_BAD_REQUEST);
|
|
// } else {
|
|
// }
|
|
return response()->json(['metadata' => ['status' => 'Ok', 'message' => 'success']])->withCookie($cookie);
|
|
}
|
|
}
|