You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
<?php |
|
|
|
namespace App\Http\Controllers\Auth; |
|
|
|
use App\Http\Controllers\Controller; |
|
use App\Http\Requests\Auth\LoginRequest; |
|
use App\Providers\RouteServiceProvider; |
|
use Illuminate\Http\RedirectResponse; |
|
use Illuminate\Http\Request; |
|
use Illuminate\Support\Facades\Auth; |
|
use Illuminate\View\View; |
|
|
|
class AuthenticatedSessionController extends Controller |
|
{ |
|
/** |
|
* Display the login view. |
|
*/ |
|
public function create(): View |
|
{ |
|
return view('auth.login'); |
|
} |
|
|
|
/** |
|
* Handle an incoming authentication request. |
|
*/ |
|
public function store(Request $request) |
|
{ |
|
$request->validate([ |
|
'email' => 'required|email', |
|
'password' => 'required', |
|
]); |
|
|
|
if (!Auth::attempt($request->only('email', 'password'), $request->input('remember'))) { |
|
return back() |
|
->withInput($request->only('email')) |
|
->withErrors(['email' => 'Kombinasi email dan password tidak valid.']); |
|
} |
|
|
|
return redirect(RouteServiceProvider::HOME); |
|
} |
|
// public function store(LoginRequest $request): RedirectResponse |
|
// { |
|
// $request->authenticate(); |
|
|
|
// $request->session()->regenerate(); |
|
|
|
// return redirect()->intended(RouteServiceProvider::HOME); |
|
// } |
|
|
|
/** |
|
* Destroy an authenticated session. |
|
*/ |
|
public function destroy(Request $request): RedirectResponse |
|
{ |
|
Auth::guard('web')->logout(); |
|
|
|
$request->session()->invalidate(); |
|
|
|
$request->session()->regenerateToken(); |
|
|
|
return redirect('/'); |
|
} |
|
}
|
|
|