Ta/dasena-web/app/Http/Controllers/Auth/AuthenticatedSessionControl...

64 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
use Illuminate\Validation\ValidationException; // <-- 1. Tambahkan baris ini
class AuthenticatedSessionController extends Controller
{
/**
* Display the login view.
*/
public function create(): View
{
return view('auth.login');
}
/**
* Handle an incoming authentication request.
*/
public function store(LoginRequest $request)
{
try {
$request->authenticate();
} catch (ValidationException $e) {
return response()->json([
'status' => false,
'msg' => 'Email atau kata sandi yang Anda masukkan salah.'
]);
}
$request->session()->regenerate();
session([
'is_logged_in' => true
]);
return response()->json([
'status' => true,
'msg' => 'Login Berhasil!'
]);
}
/**
* Destroy an authenticated session.
*/
public function destroy(Request $request): RedirectResponse
{
Auth::guard('web')->logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
}