mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
update redirection after set password to passphrase
This commit is contained in:
parent
db083ab09a
commit
bee2cc9e78
@ -12,15 +12,15 @@ ObfusArray::ObfusArray(size_t size, const unsigned char * data)
|
||||
|
||||
m_offsetSize = randombytes_random() % (int)roundf((m_arraySize - m_dataSize) * 0.8f);
|
||||
|
||||
printf("[ObfusArray::ObfusArray] array_size: %d, start by: %lld, size: %u, offset: %u\n",
|
||||
m_arraySize, m_Data, size, m_offsetSize);
|
||||
//printf("[ObfusArray::ObfusArray] array_size: %d, start by: %lld, size: %u, offset: %u\n",
|
||||
//m_arraySize, m_Data, size, m_offsetSize);
|
||||
|
||||
assert(m_arraySize - m_offsetSize >= size);
|
||||
|
||||
uint32_t* d = (uint32_t*)m_Data;
|
||||
size_t dMax = (size_t)floorf(m_arraySize / 4.0f);
|
||||
|
||||
printf("d start by: %lld, dMax: %u\n", d, dMax);
|
||||
//printf("d start by: %lld, dMax: %u\n", d, dMax);
|
||||
for (size_t i = 0; i < dMax; i++) {
|
||||
d[i] = randombytes_random();
|
||||
}
|
||||
@ -30,7 +30,7 @@ ObfusArray::ObfusArray(size_t size, const unsigned char * data)
|
||||
//d[m_arraySize - 4] = randombytes_random();
|
||||
|
||||
memcpy(&m_Data[m_offsetSize], data, size);
|
||||
printf("[ObfusArray] data: %lld\n", (int64_t)m_Data);
|
||||
//printf("[ObfusArray] data: %lld\n", (int64_t)m_Data);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -45,12 +45,12 @@ ObfusArray::ObfusArray(size_t size, const unsigned char * data)
|
||||
ObfusArray::~ObfusArray()
|
||||
{
|
||||
|
||||
printf("[ObfusArray::~ObfusArray] data: %lld\n", (int64_t)m_Data);
|
||||
//printf("[ObfusArray::~ObfusArray] data: %lld\n", (int64_t)m_Data);
|
||||
if (m_Data) {
|
||||
|
||||
free(m_Data);
|
||||
m_Data = nullptr;
|
||||
}
|
||||
printf("[ObfusArray::~ObfusArray] finish\n");
|
||||
//printf("[ObfusArray::~ObfusArray] finish\n");
|
||||
|
||||
}
|
||||
@ -71,9 +71,12 @@ void DashboardPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::N
|
||||
#line 36 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\dashboard.cpsp"
|
||||
if(mSession->getSessionState() == SESSION_STATE_EMAIL_VERIFICATION_SEND) { responseStream << "\n";
|
||||
responseStream << "\t<p>Verification Code E-Mail wurde erfolgreich an dich verschickt, bitte schaue auch in dein Spam-Verzeichnis nach wenn du sie nicht findest und klicke auf den Link den du dort findest oder kopiere den Code hier her:</p>\n";
|
||||
responseStream << "\t<form method=\"GET\" action=\"checkEmail\">\n";
|
||||
responseStream << "\t<form method=\"GET\" action=\"";
|
||||
#line 38 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\dashboard.cpsp"
|
||||
responseStream << ( uri_start );
|
||||
responseStream << "/checkEmail\">\n";
|
||||
responseStream << "\t\t<input type=\"number\" name=\"email-verification-code\">\n";
|
||||
responseStream << "\t\t<input class=\"grd_bn_succeed\" type=\"submit\" value=\"Überprüfe Code\">\n";
|
||||
responseStream << "\t\t<input class=\"grd_bn_succeed\" type=\"submit\" value=\"Überprüfe Code\">\n";
|
||||
responseStream << "\t</form>\n";
|
||||
responseStream << "\t";
|
||||
#line 42 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\dashboard.cpsp"
|
||||
|
||||
@ -9,6 +9,7 @@
|
||||
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
#include "Poco/Net/HTTPCookie.h"
|
||||
#include "../ServerConfig.h"
|
||||
|
||||
|
||||
UpdateUserPasswordPage::UpdateUserPasswordPage(Session* arg):
|
||||
@ -25,10 +26,11 @@ void UpdateUserPasswordPage::handleRequest(Poco::Net::HTTPServerRequest& request
|
||||
if (_compressResponse) response.set("Content-Encoding", "gzip");
|
||||
|
||||
Poco::Net::HTMLForm form(request, request.stream());
|
||||
#line 10 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
#line 11 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
|
||||
auto user = mSession->getUser();
|
||||
auto sm = SessionManager::getInstance();
|
||||
auto uri_start = ServerConfig::g_serverPath;
|
||||
// remove old cookies if exist
|
||||
sm->deleteLoginCookies(request, response, mSession);
|
||||
// save login cookie, because maybe we've get an new session
|
||||
@ -41,10 +43,11 @@ void UpdateUserPasswordPage::handleRequest(Poco::Net::HTTPServerRequest& request
|
||||
mSession->addError(new Error("Passwort", "Passwörter sind nicht identisch."));
|
||||
} else if(SessionManager::getInstance()->checkPwdValidation(pwd, mSession)) {
|
||||
if(user->setNewPassword(form.get("register-password"))) {
|
||||
std::string referUri = request.get("Referer", "./");
|
||||
//printf("[updateUserPasswordPage] referUri: %s\n", referUri.data());
|
||||
//std::string referUri = request.get("Referer", uri_start + "/");
|
||||
//printf("[updateUserPasswordPage] redirect to referUri: %s\n", referUri.data());
|
||||
mSession->updateEmailVerification(mSession->getEmailVerificationCode());
|
||||
mSession->getErrors(user);
|
||||
response.redirect(referUri);
|
||||
response.redirect(uri_start + "/passphrase");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -101,7 +104,7 @@ void UpdateUserPasswordPage::handleRequest(Poco::Net::HTTPServerRequest& request
|
||||
responseStream << "<div class=\"grd_container\">\n";
|
||||
responseStream << "\t<h1>Passwort bestimmen</h1>\n";
|
||||
responseStream << "\t";
|
||||
#line 81 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
#line 84 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
responseStream << ( getErrorsHtml() );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t<form method=\"POST\">\t\n";
|
||||
@ -124,7 +127,7 @@ void UpdateUserPasswordPage::handleRequest(Poco::Net::HTTPServerRequest& request
|
||||
responseStream << "</div>\n";
|
||||
responseStream << "<div class=\"grd-time-used\">\n";
|
||||
responseStream << "\t";
|
||||
#line 101 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
#line 104 "I:\\Code\\C++\\Eigene_Projekte\\Gradido_LoginServer\\src\\cpsp\\UpdateUserPassword.cpsp"
|
||||
responseStream << ( mTimeProfiler.string() );
|
||||
responseStream << "\n";
|
||||
responseStream << "</div>\n";
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
using namespace Poco::Data::Keywords;
|
||||
|
||||
#define DEBUG_USER_DELETE_ENV
|
||||
//#define DEBUG_USER_DELETE_ENV
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
@ -359,7 +359,7 @@ UserStates User::getUserState()
|
||||
// TODO: if a password and privkey already exist, load current private key and re encrypt with new crypto key
|
||||
bool User::setNewPassword(const std::string& newPassword)
|
||||
{
|
||||
|
||||
Profiler timeUsed;
|
||||
if (newPassword == "") {
|
||||
lock();
|
||||
addError(new Error("Passwort", "Ist leer."));
|
||||
@ -384,6 +384,8 @@ bool User::setNewPassword(const std::string& newPassword)
|
||||
savePassword->scheduleTask(savePassword);
|
||||
|
||||
unlock();
|
||||
|
||||
printf("[User::setNewPassword] timeUsed: %s\n", timeUsed.string().data());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -35,9 +35,9 @@
|
||||
<p><%= mSession->getSessionStateString() %></p>
|
||||
<% if(mSession->getSessionState() == SESSION_STATE_EMAIL_VERIFICATION_SEND) { %>
|
||||
<p>Verification Code E-Mail wurde erfolgreich an dich verschickt, bitte schaue auch in dein Spam-Verzeichnis nach wenn du sie nicht findest und klicke auf den Link den du dort findest oder kopiere den Code hier her:</p>
|
||||
<form method="GET" action="checkEmail">
|
||||
<form method="GET" action="<%= uri_start %>/checkEmail">
|
||||
<input type="number" name="email-verification-code">
|
||||
<input class="grd_bn_succeed" type="submit" value="Überprüfe Code">
|
||||
<input class="grd_bn_succeed" type="submit" value="Überprüfe Code">
|
||||
</form>
|
||||
<% } else if(mSession->getSessionState() == SESSION_STATE_EMAIL_VERIFICATION_WRITTEN) { %>
|
||||
<p>Hast du schon eine E-Mail mit einem Verification Code erhalten? Wenn ja kannst du ihn hier hinein kopieren:</p>
|
||||
|
||||
@ -6,10 +6,12 @@
|
||||
<%!
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
#include "Poco/Net/HTTPCookie.h"
|
||||
#include "../ServerConfig.h"
|
||||
%>
|
||||
<%%
|
||||
auto user = mSession->getUser();
|
||||
auto sm = SessionManager::getInstance();
|
||||
auto uri_start = ServerConfig::g_serverPath;
|
||||
// remove old cookies if exist
|
||||
sm->deleteLoginCookies(request, response, mSession);
|
||||
// save login cookie, because maybe we've get an new session
|
||||
@ -22,10 +24,11 @@
|
||||
mSession->addError(new Error("Passwort", "Passwörter sind nicht identisch."));
|
||||
} else if(SessionManager::getInstance()->checkPwdValidation(pwd, mSession)) {
|
||||
if(user->setNewPassword(form.get("register-password"))) {
|
||||
std::string referUri = request.get("Referer", "./");
|
||||
//printf("[updateUserPasswordPage] referUri: %s\n", referUri.data());
|
||||
//std::string referUri = request.get("Referer", uri_start + "/");
|
||||
//printf("[updateUserPasswordPage] redirect to referUri: %s\n", referUri.data());
|
||||
mSession->updateEmailVerification(mSession->getEmailVerificationCode());
|
||||
mSession->getErrors(user);
|
||||
response.redirect(referUri);
|
||||
response.redirect(uri_start + "/passphrase");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user