diff options
author | Brad Kittenbrink <brad@lindenlab.com> | 2021-12-13 14:58:38 -0800 |
---|---|---|
committer | Brad Kittenbrink <brad@lindenlab.com> | 2021-12-13 14:58:38 -0800 |
commit | 6d177898a9a5883ad7939be162e51d9a61d0e0b1 (patch) | |
tree | 9c3d508f877d4434c59d40ee7e00d65fc9a46c0d | |
parent | 30cd108c7e4a524c9f17060d5b2f7b4ff193b4b8 (diff) |
SL-16501 SLMFAHash is now saved client side
-rw-r--r-- | indra/newview/app_settings/settings_per_account.xml | 11 | ||||
-rw-r--r-- | indra/newview/lllogininstance.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 5 | ||||
-rw-r--r-- | indra/newview/tests/lllogininstance_test.cpp | 1 |
4 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index 537744b44c..d7d008689c 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -436,5 +436,16 @@ <key>Value</key> <integer>2</integer> </map> + <key>SLMFAHash</key> + <map> + <key>Comment</key> + <string>MFA state hash for authentication</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>String</string> + <key>Value</key> + <string></string> + </map> </map> </llsd> diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index 553a8c91ff..f19569d429 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -228,7 +228,7 @@ void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credentia request_params["host_id"] = gSavedSettings.getString("HostID"); request_params["extended_errors"] = true; // request message_id and message_args request_params["token"] = ""; - request_params["slmfa_hash"] = ""; + request_params["slmfa_hash"] = gSavedPerAccountSettings.getString("SLMFAHash"); // log request_params _before_ adding the credentials LL_DEBUGS("LLLogin") << "Login parameters: " << LLSDOStreamer<LLSDNotationFormatter>(request_params) << LL_ENDL; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 228d64c17b..05d17b47bc 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -3605,6 +3605,11 @@ bool process_login_success_response() LLViewerMedia::getInstance()->openIDSetup(openid_url, openid_token); } + if(response.has("slmfa_hash")) + { + gSavedPerAccountSettings.setString("SLMFAHash", response["slmfa_hash"]); + } + bool success = false; // JC: gesture loading done below, when we have an asset system // in place. Don't delete/clear gUserCredentials until then. diff --git a/indra/newview/tests/lllogininstance_test.cpp b/indra/newview/tests/lllogininstance_test.cpp index 8d1956957c..43f0e89222 100644 --- a/indra/newview/tests/lllogininstance_test.cpp +++ b/indra/newview/tests/lllogininstance_test.cpp @@ -190,6 +190,7 @@ std::string LLGridManager::getAppSLURLBase(const std::string& grid_name) //----------------------------------------------------------------------------- #include "../llviewercontrol.h" LLControlGroup gSavedSettings("Global"); +LLControlGroup gSavedPerAccountSettings("PerAccount"); LLControlGroup::LLControlGroup(const std::string& name) : LLInstanceTracker<LLControlGroup, std::string>(name){} |