mirror of
				https://github.com/Telecominfraproject/wlan-cloud-ucentralsec.git
				synced 2025-10-31 02:37:56 +00:00 
			
		
		
		
	Fixing MFA saving issue
This commit is contained in:
		| @@ -41,7 +41,7 @@ namespace OpenWifi { | ||||
|     bool MFAServer::SendChallenge(const SecurityObjects::UserInfoAndPolicy &UInfo, const std::string &Method, const std::string &Challenge) { | ||||
|         if(Method=="sms" && SMSSender()->Enabled() && !UInfo.userinfo.userTypeProprietaryInfo.mobiles.empty()) { | ||||
|             std::string Message = "This is your login code: " + Challenge + " Please enter this in your login screen."; | ||||
|             return SMSSender()->Send(UInfo.userinfo.userTypeProprietaryInfo.mobiles[0].number, Message); | ||||
|             return (SMSSender()->Send(UInfo.userinfo.userTypeProprietaryInfo.mobiles[0].number, Message)==0); | ||||
|         } | ||||
|  | ||||
|         if(Method=="email" && SMTPMailerService()->Enabled() && !UInfo.userinfo.email.empty()) { | ||||
|   | ||||
| @@ -169,30 +169,23 @@ namespace OpenWifi { | ||||
|                 Logger_.information(Poco::format("Verification e-mail requested for %s",Existing.email)); | ||||
|         } | ||||
|  | ||||
|         if(NewUser.userTypeProprietaryInfo.mfa.enabled!=Existing.userTypeProprietaryInfo.mfa.enabled) { | ||||
|             std::cout << "Saving MFA" << std::endl; | ||||
|             if(!NewUser.userTypeProprietaryInfo.mfa.enabled) { | ||||
|                 Existing.userTypeProprietaryInfo.mfa.enabled=false; | ||||
|             } else { | ||||
|                 //  Need to make sure the provided number has been validated. | ||||
|                 if(NewUser.userTypeProprietaryInfo.mfa.method=="sms") { | ||||
|                     std::cout << "Saving in sms" << std::endl; | ||||
|                     if(NewUser.userTypeProprietaryInfo.mobiles.empty()) { | ||||
|                         return BadRequest(RESTAPI::Errors::NeedMobileNumber); | ||||
|                     } | ||||
|                     if(!SMSSender()->IsNumberValid(NewUser.userTypeProprietaryInfo.mobiles[0].number)){ | ||||
|                         return BadRequest(RESTAPI::Errors::NeedMobileNumber); | ||||
|                     } | ||||
|                     Existing.userTypeProprietaryInfo.mfa.method = "sms"; | ||||
|                     Existing.userTypeProprietaryInfo.mobiles = NewUser.userTypeProprietaryInfo.mobiles; | ||||
|                     std::cout << "Saving in mobiles" << std::endl; | ||||
|                 } else if(NewUser.userTypeProprietaryInfo.mfa.method=="email") { | ||||
|  | ||||
|                 } else { | ||||
|                     return BadRequest(RESTAPI::Errors::BadMFAMethod); | ||||
|                 } | ||||
|             } | ||||
|         if(RawObject->has("userTypeProprietaryInfo")) { | ||||
|             Existing.userTypeProprietaryInfo.mfa.enabled = NewUser.userTypeProprietaryInfo.mfa.enabled; | ||||
|             if(NewUser.userTypeProprietaryInfo.mfa.method=="sms") { | ||||
|                 Existing.userTypeProprietaryInfo.mfa.method=NewUser.userTypeProprietaryInfo.mfa.method; | ||||
|                 auto MobileStruct = RawObject->get("userTypeProprietaryInfo"); | ||||
|                 auto Info = MobileStruct.extract<Poco::JSON::Object::Ptr>(); | ||||
|                 if(Info->isArray("mobiles")) { | ||||
|                     Existing.userTypeProprietaryInfo.mobiles = NewUser.userTypeProprietaryInfo.mobiles; | ||||
|                 } | ||||
|                 if(!NewUser.userTypeProprietaryInfo.mobiles.empty() && !SMSSender()->IsNumberValid(NewUser.userTypeProprietaryInfo.mobiles[0].number)){ | ||||
|                     return BadRequest(RESTAPI::Errors::NeedMobileNumber); | ||||
|                 } | ||||
|             } else if(NewUser.userTypeProprietaryInfo.mfa.method=="email") { | ||||
|                 Existing.userTypeProprietaryInfo.mfa.method=NewUser.userTypeProprietaryInfo.mfa.method; | ||||
|             } else { | ||||
|                 return BadRequest(RESTAPI::Errors::BadMFAMethod); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if(Storage()->UpdateUserInfo(UserInfo_.userinfo.email,Id,Existing)) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 stephb9959
					stephb9959