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
*/
CROW_ROUTE(app, "/freelancer/logout")
([&, configuration](const crow::request& getRequest, crow::response& res) {
auto& ctx = app.get_context<crow::CookieParser>(getRequest);
// Read cookies with get_cookie
auto value = ctx.get_cookie("cookieloggedin");
if (value.compare("true") != 0) {
value = "false";
ctx.set_cookie("cookieloggedin", "true");
pqxx::connection databaseConnection(configuration.databaseConnectionString);
string loginKey = ctx.get_cookie("loginKey");
string freelancerEmail = ctx.get_cookie("freelancerEmail");
if (!freelancerEmail.empty() && !loginKey.empty()) {
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
{
ctx.set_cookie("cookieloggedin", "false");
}
return "cookieloggedin: " + value;*/
res.redirect("/");
res.end();
});
/*