#include "PassphrasePage.h" #include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerResponse.h" #include "Poco/Net/HTMLForm.h" #include "Poco/DeflatingStream.h" #line 7 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\passphrase.cpsp" #include "../SingletonManager/SessionManager.h" //#include "Poco/Net/HTTPServerParams.h" enum PageState { PAGE_ASK_PASSPHRASE, PAGE_SHOW_PASSPHRASE }; #line 1 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\header.cpsp" #include "../ServerConfig.h" PassphrasePage::PassphrasePage(Session* arg): SessionHTTPRequestHandler(arg) { } void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) { response.setChunkedTransferEncoding(true); response.setContentType("text/html"); bool _compressResponse(request.hasToken("Accept-Encoding", "gzip")); if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); #line 17 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\passphrase.cpsp" const char* pageName = "Passphrase"; PageState state = PAGE_ASK_PASSPHRASE; auto sm = SessionManager::getInstance(); auto uri_start = ServerConfig::g_serverPath;//request.serverParams().getServerName(); // remove old cookies if exist sm->deleteLoginCookies(request, response, mSession); // save login cookie, because maybe we've get an new session response.addCookie(mSession->getLoginCookie()); if (!form.empty()) { auto registerKeyChoice = form.get("passphrase", ""); std::string oldPassphrase = ""; if (registerKeyChoice == "no") { auto oldPassphrase = form.get("passphrase-existing", ""); if (oldPassphrase != "" && User::validatePassphrase(oldPassphrase)) { // passphrase is valid mSession->setPassphrase(oldPassphrase); mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN); state = PAGE_SHOW_PASSPHRASE; } else { addError(new Error("Passphrase", "Diese Passphrase ist ungültig, bitte überprüfen oder neu generieren (lassen).")); } } else if (registerKeyChoice == "yes") { mSession->generatePassphrase(); } } if(mSession->getSessionState() == SESSION_STATE_PASSPHRASE_GENERATED) { state = PAGE_SHOW_PASSPHRASE; mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN); } getErrors(mSession); std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; responseStream << "\n"; // begin include header.cpsp responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "Login Server in Entwicklung
\n"; responseStream << "\tAlpha 0.4.4
\n"; responseStream << "Deine E-Mail Adresse wurde erfolgreich bestätigt.
\n"; responseStream << "\t\n"; responseStream << "\t"; #line 89 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\passphrase.cpsp" } else { responseStream << "\n"; responseStream << "\t\t