jonnybarnes.uk/app/Http/Controllers/AuthController.php

63 lines
1.3 KiB
PHP
Raw Normal View History

2016-05-19 15:01:28 +01:00
<?php
declare(strict_types=1);
2016-05-19 15:01:28 +01:00
namespace App\Http\Controllers;
use Illuminate\Http\RedirectResponse;
2023-02-18 09:34:57 +00:00
use Illuminate\Http\Request;
2019-10-27 16:29:15 +00:00
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
2016-05-19 15:01:28 +01:00
class AuthController extends Controller
{
/**
* Show the login form.
*/
2023-02-18 09:34:57 +00:00
public function showLogin(): View|RedirectResponse
{
if (Auth::check()) {
return redirect('/');
}
return view('login');
}
2016-05-19 15:01:28 +01:00
/**
2023-02-18 09:34:57 +00:00
* Log in a user, set a session variable, check credentials against the `.env` file.
2016-05-19 15:01:28 +01:00
*/
2023-02-18 09:34:57 +00:00
public function login(Request $request): RedirectResponse
2016-05-19 15:01:28 +01:00
{
2023-02-18 09:34:57 +00:00
$credentials = $request->only('name', 'password');
2016-05-19 15:01:28 +01:00
if (Auth::attempt($credentials, true)) {
return redirect()->intended('/admin');
2016-05-19 15:01:28 +01:00
}
return redirect()->route('login');
}
/**
2023-02-18 09:34:57 +00:00
* Show the form to allow a user to log-out.
*/
2023-02-18 09:34:57 +00:00
public function showLogout(): View|RedirectResponse
{
if (Auth::check() === false) {
// The user is not logged in, just redirect them home
return redirect('/');
}
return view('logout');
}
/**
* Log the user out from their current session.
*/
public function logout(): RedirectResponse
{
Auth::logout();
return redirect('/');
}
2016-05-19 15:01:28 +01:00
}