Request class and begin Frontend.
This commit is contained in:
57
src/Domain/Utilisateurs/AuthentificationController.php
Normal file
57
src/Domain/Utilisateurs/AuthentificationController.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace App\Domain\Utilisateurs;
|
||||
|
||||
use App\Domain\Controller;
|
||||
use App\Helpers\Authentification;
|
||||
use App\Http\JSONResponse;
|
||||
use App\Http\Request;
|
||||
|
||||
class AuthentificationController extends Controller {
|
||||
|
||||
public static function defineRoutes(): array {
|
||||
|
||||
return [
|
||||
|
||||
// Public routes.
|
||||
self::Route( routeUrl: '/login', routeName: 'login', routeAction: 'loginForm', pageHeadTitle: 'Connexion' ),
|
||||
|
||||
// API Routes.
|
||||
self::Route( routeUrl: '/api/auth', routeName: 'api->auth', routeAction: 'auth', routeMethods: ['POST'] ),
|
||||
self::Route( routeUrl: '/api/auth/logout', routeName: 'api->auth->logout', routeAction: 'logout', routeMethods: ['POST'] ),
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
public function login(): View {
|
||||
return new View( 'login' );
|
||||
}
|
||||
|
||||
public function auth(): JSONResponse {
|
||||
|
||||
Request::setCORS();
|
||||
|
||||
$username = Request::get( 'username' );
|
||||
$password = Request::get( 'password' );
|
||||
|
||||
// TODO : Récupération de l'utilisateur et verify_password.
|
||||
|
||||
$userId = 1;
|
||||
Authentification::loginUser( $userId );
|
||||
JSONResponse::sendSuccess( [ 'user_id' => $userId ] );
|
||||
|
||||
}
|
||||
|
||||
public function logout(): JSONResponse {
|
||||
|
||||
if( !Authentification::isLoggedIn() ) {
|
||||
return JSONResponse::sendError( [ 'message' => 'Alrady disconnected' ] );
|
||||
}
|
||||
|
||||
Authentification::destroySession();
|
||||
return JSONResponse::sendSuccess( [ 'message' => 'Logged out' ] );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user