public function doGet() { $r = UsuarioResource::getInstance(); if (isset($_COOKIE["credentials"])) { SessaoController::autenticar($_COOKIE["credentials"]); if (UsuarioController::get("id")) { ok_header(); echo UsuarioController::$usuario->json(); } else { exception_header(); SessaoController::print_exception("autenticar"); } } else { bad_request(); } }
} ?> <?php if (isset($_COOKIE["credentials"])) { SessaoController::autenticar($_COOKIE["credentials"]); if (UsuarioController::get("id")) { if (isset($_POST["codigo"])) { $o = UsuarioController::ativarConta($_POST["codigo"]); if ($o) { ok_header(); } else { exception_header(); UsuarioController::print_exception("ativar_conta"); } } else { $o = UsuarioController::solicitarAtivacaoDeConta(); if ($o) { ok_header(); } else { exception_header(); echo "Houve um erro!"; } } } else { exception_header(); SessaoController::prin_exception("autenticar"); } } else { bad_request_header(); }
<?php require "../app/project.php"; ?> <?php getController("Usuario"); getController("Sessao"); getController("Departamento"); ?> <?php if (isset($_COOKIE["credentials"])) { SessaoController::autenticar($_COOKIE["credentials"]); } if (UsuarioController::get("id")) { $o = UsuarioController::podeCriarDepartamentos(); if ($o) { ok_header(); echo UsuarioController::$usuario->getJson("id,username"); } else { exception_header(); echo "Usuário sem permissão para cadastrar departamentos"; } } else { unauthorized_header(); }
public static function autenticar($token) { require PROJECT_ADDRESS . "/lib/util/JWT.php"; $m = JWT::from_token($token, jwt_secret_key()); if ($m) { $usuario = Usuario::fromJSON($m->getPayload(), "email,codigo"); SessaoController::doUsuario($usuario); if (SessaoController::get("id")) { UsuarioController::porEmail($usuario->getEmail()); } else { SessaoController::defineException("autenticar", "Sessão inválida!"); } } else { SessaoController::defineException("autenticar", "Token inválido!"); } }
public static function login($login, $senha) { $u = UsuarioController::usuario_por_login($login); if ($u) { require_once PROJECT_ADDRESS . "/lib/util/proteger.php"; $pass = embaralhar($senha, $u->getCodigo()); // login e senha estão corretos if ($pass == $u->getSenha()) { // inicia o usuário UsuarioController::$usuario = $u; // registra a sessão SessaoController::iniciar(); if (SessaoController::get("token")) { require_once PROJECT_ADDRESS . "/lib/util/code.php"; $codigo = get_codigo(5); // atualiza o código do usuário UsuarioController::atualizar($senha, $codigo); } } else { // senha incorreta UsuarioController::defineException("login", "Login ou senha incorretos!"); } } else { // e-mail ou username não cadastrados UsuarioController::defineException("login", "Login ou senha incorretos!"); } }