All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 31s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m25s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 4m34s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s
This is so when the session expires, the logged in user details are expired as well, which wasnt happening with cookies.
102 lines
2.3 KiB
PHP
102 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Auth;
|
|
|
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Log;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
class LoginController extends Controller
|
|
{
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Login Controller
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This controller handles authenticating users for the application and
|
|
| redirecting them to your home screen. The controller uses a trait
|
|
| to conveniently provide its functionality to your applications.
|
|
|
|
|
*/
|
|
|
|
use AuthenticatesUsers;
|
|
|
|
/**
|
|
* Where to redirect users after login.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $redirectTo = '/';
|
|
|
|
/**
|
|
* Create a new controller instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->middleware('guest')
|
|
->except('logout');
|
|
}
|
|
|
|
protected function credentials(Request $request): array
|
|
{
|
|
return [
|
|
login_attr_name() => $request->get(login_attr_name()),
|
|
'password' => $request->get('password'),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* We need to delete our encrypted username/password cookies
|
|
*
|
|
* @note The rest of this function is the same as a normal laravel logout as in AuthenticatesUsers::class
|
|
* @param Request $request
|
|
* @return \Illuminate\Contracts\Foundation\Application|JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|mixed
|
|
*/
|
|
public function logout(Request $request)
|
|
{
|
|
$user = Auth::user();
|
|
|
|
$this->guard()->logout();
|
|
$request->session()->invalidate();
|
|
$request->session()->regenerateToken();
|
|
|
|
if ($response = $this->loggedOut($request)) {
|
|
Log::info(sprintf('Logged out [%s]',$user->dn));
|
|
return $response;
|
|
}
|
|
|
|
return $request->wantsJson()
|
|
? new JsonResponse([], 204)
|
|
: redirect('/');
|
|
}
|
|
|
|
/**
|
|
*
|
|
* Show our themed login page
|
|
*/
|
|
public function showLoginForm()
|
|
{
|
|
$login_note = '';
|
|
|
|
if (file_exists('login_note.txt'))
|
|
$login_note = file_get_contents('login_note.txt');
|
|
|
|
return view('architect::auth.login')->with('login_note',$login_note);
|
|
}
|
|
|
|
/**
|
|
* Get the login username to be used by the controller.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function username()
|
|
{
|
|
return login_attr_name();
|
|
}
|
|
} |