Merge pull request #642 from gradido/login_fix_638

Login fix wrong check email link
This commit is contained in:
einhornimmond 2021-07-15 14:01:12 +02:00 committed by GitHub
commit af7f0ebd92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 5 deletions

View File

@ -299,7 +299,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::handleCheckEmail(Sessi
auto user_host = request.clientAddress().host(); auto user_host = request.clientAddress().host();
session->setClientIp(user_host); session->setClientIp(user_host);
assert(session->getNewUser()); assert(session->getNewUser());
if (!session->getNewUser()->hasPassword()) { if (!session->getNewUser()->getModel()->getPasswordHashed()) {
// user has no password, maybe account created from elopage webhook // user has no password, maybe account created from elopage webhook
return basicSetup(new UserUpdatePasswordPage(session), request, timeUsed); return basicSetup(new UserUpdatePasswordPage(session), request, timeUsed);
} }
@ -311,12 +311,13 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::handleCheckEmail(Sessi
*/ */
// update session, mark as verified // update session, mark as verified
int retUpdateEmailVerification = session->updateEmailVerification(verificationCode); int retUpdateEmailVerification = session->updateEmailVerification(verificationCode);
printf("[%s] return from update email verification: %d\n", __FUNCTION__, retUpdateEmailVerification); //printf("[%s] return from update email verification: %d\n", __FUNCTION__, retUpdateEmailVerification);
if (0 == retUpdateEmailVerification) { if (0 == retUpdateEmailVerification) {
//printf("[PageRequestHandlerFactory::handleCheckEmail] timeUsed: %s\n", timeUsed.string().data()); //printf("[PageRequestHandlerFactory::handleCheckEmail] timeUsed: %s\n", timeUsed.string().data());
SessionHTTPRequestHandler* pageRequestHandler = nullptr; SessionHTTPRequestHandler* pageRequestHandler = nullptr;
if (model::table::EMAIL_OPT_IN_REGISTER_DIRECT == session->getEmailVerificationType()) { if (model::table::EMAIL_OPT_IN_REGISTER_DIRECT == session->getEmailVerificationType() ||
printf("return check email page\n"); model::table::EMAIL_OPT_IN_REGISTER == session->getEmailVerificationType()) {
//printf("return check email page\n");
pageRequestHandler = new CheckEmailPage(session); pageRequestHandler = new CheckEmailPage(session);
} else if(SESSION_STATE_RESET_PASSWORD_REQUEST == session->getSessionState()) { } else if(SESSION_STATE_RESET_PASSWORD_REQUEST == session->getSessionState()) {
pageRequestHandler = new UserUpdatePasswordPage(session); pageRequestHandler = new UserUpdatePasswordPage(session);

View File

@ -274,7 +274,7 @@ bool Session::createUserDirect(const std::string& first_name, const std::string&
// email verification code // email verification code
auto email_verification = controller::EmailVerificationCode::create(user_id, model::table::EMAIL_OPT_IN_REGISTER_DIRECT); auto email_verification = controller::EmailVerificationCode::create(user_id, model::table::EMAIL_OPT_IN_REGISTER_DIRECT);
email_verification->setBaseUrl(baseUrl); email_verification->setBaseUrl(baseUrl + "/checkEmail");
email_verification->getModel()->insertIntoDB(false); email_verification->getModel()->insertIntoDB(false);
mEmailVerificationCodeObject = email_verification; mEmailVerificationCodeObject = email_verification;