Files
backend_pendaftaran/app/Http/Controllers/AuthController.php
2024-12-27 16:50:09 +07:00

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);
}
}