Logout Route Handler
This commit is contained in:
23
src/main.cpp
23
src/main.cpp
@ -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();
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user