Logout Route Handler

This commit is contained in:
Tina_Azure
2023-04-22 23:12:24 +02:00
parent f7e03bdc0f
commit 870d50baeb

View File

@ -235,19 +235,22 @@ int main(int argc, char *argv[]) {
/* /*
* Logs out a freelancer by replacing validation key and expiring cookies * Logs out a freelancer by replacing validation key and expiring cookies
*/ */
CROW_ROUTE(app, "/freelancer/logout")
([&, configuration](const crow::request& getRequest, crow::response& res) {
auto& ctx = app.get_context<crow::CookieParser>(getRequest); auto& ctx = app.get_context<crow::CookieParser>(getRequest);
// Read cookies with get_cookie pqxx::connection databaseConnection(configuration.databaseConnectionString);
auto value = ctx.get_cookie("cookieloggedin"); string loginKey = ctx.get_cookie("loginKey");
if (value.compare("true") != 0) { string freelancerEmail = ctx.get_cookie("freelancerEmail");
value = "false"; if (!freelancerEmail.empty() && !loginKey.empty()) {
ctx.set_cookie("cookieloggedin", "true"); if (Utilities::checkFreelancerLoginState(configuration, loginKey, freelancerEmail)) {
Database::executePreparedStatement_UPDATE_LOGIN_VALIDATION_KEY(databaseConnection, "EXPIRED", freelancerEmail);
ctx.set_cookie("loginKey", Utilities::generateExpiredCookie());
ctx.set_cookie("freelancerEmail", Utilities::generateExpiredCookie());
}
} }
else res.redirect("/");
{ res.end();
ctx.set_cookie("cookieloggedin", "false"); });
}
return "cookieloggedin: " + value;*/
/* /*