getnamingo-registry/cp/app/Controllers/Auth/AuthController.php
2023-11-22 12:49:50 +02:00

60 lines
No EOL
1.5 KiB
PHP

<?php
namespace App\Controllers\Auth;
use App\Auth\Auth;
use App\Controllers\Controller;
use Respect\Validation\Validator as v;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
/**
* AuthController
*
* @author Hezekiah O. <support@hezecom.com>
*/
class AuthController extends Controller
{
/**
* @param Request $request
* @param Response $response
* @return mixed
* @throws \DI\DependencyException
* @throws \DI\NotFoundException
*/
public function createLogin(Request $request, Response $response){
return view($response,'auth/login.twig');
}
/**
* @param Request $request
* @param Response $response
* @throws \Pinga\Auth\AttemptCancelledException
* @throws \Pinga\Auth\AuthError
*/
public function login(Request $request, Response $response){
$data = $request->getParsedBody();
if(isset($data['remember'])){
$remember = $data['remember'];
}else{
$remember = null;
}
if(isset($data['code'])){
$code = $data['code'];
}else{
$code = null;
}
$login = Auth::login($data['email'], $data['password'], $remember, $code);
if($login===true)
redirect()->route('home');
}
/**
* @throws \Pinga\Auth\AuthError
*/
public function logout()
{
Auth::logout();
redirect()->route('login');
}
}