index.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. require_once "../../../env.inc.php";
  3. require_once DOCUMENT_ROOT . "/conf.inc.php";
  4. require_once DIR_PHP_LAYOUTS . "header.php";
  5. secureSession::start();
  6. require_once DOCUMENT_ROOT . "/access.inc.php";
  7. require_once "path_to_jwt.php"; // Inclure la classe gérant les JWT
  8. if (core::ifPost("email") and core::ifPost("password")) {
  9. try {
  10. // Appel de l'authentification via JWT
  11. $authResponse = jwt::authenticate(core::getPost());
  12. if (isset($authResponse["token"])) {
  13. // L'authentification est réussie et le JWT est généré
  14. historique::recRef("/api/authenticator/");
  15. historique::add(array(
  16. "idType" => historique::getIdRef("CONNEXION"),
  17. "idUser" => $authResponse["id"],
  18. "idPage" => historique::getIdRef("/api/authenticator/"),
  19. "log" => $_SERVER['REMOTE_ADDR']
  20. ));
  21. // Réponse JSON avec le token JWT en cas de succès
  22. echo json_encode([
  23. "status" => "success",
  24. "message" => "Login successful",
  25. "token" => $authResponse["token"], // Ajouter le token JWT dans la réponse
  26. "type" => $authResponse["type"],
  27. "id" => $authResponse["id"],
  28. "prenom" => $authResponse["prenom"],
  29. "nom" => $authResponse["nom"],
  30. "googleAuthenticator" => $authResponse["googleAuthenticator"],
  31. "idType" => $authResponse["idType"],
  32. "email" => $authResponse["email"]
  33. ]);
  34. } else {
  35. // En cas de problème avec le token (JWT non généré)
  36. http_response_code(401); // Code 401 Unauthorized
  37. echo json_encode([
  38. "status" => "error",
  39. "message" => "Failed to generate token"
  40. ]);
  41. }
  42. } catch (Exception $e) {
  43. // Authentification échouée
  44. http_response_code(401); // Code 401 Unauthorized
  45. echo json_encode([
  46. "status" => "error",
  47. "message" => $e->getMessage()
  48. ]);
  49. }
  50. }