diff options
author | Lynx Linden <lynx@lindenlab.com> | 2009-12-15 23:45:38 +0000 |
---|---|---|
committer | Lynx Linden <lynx@lindenlab.com> | 2009-12-15 23:45:38 +0000 |
commit | 931591c0ab434cc330cfdfa324a27278bc4a1270 (patch) | |
tree | 99b7bc88a28b3c1949437c8ebf29bdb040abe39b /indra/newview | |
parent | dec9e56afe404ac8cbf2bacae87062bf091fdab1 (diff) |
EXT-3496: Add a common authentication key for search and home.
Search and the Home sidetray now have their own specific
authentication keys that they support from login.cgi, but they
fallback to a common key as follows:
Search: "search_token", fallback to "auth_token"
Home: "home_sidetray_token", fallback to "auth_token"
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | indra/newview/llfloatersearch.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llviewerhome.cpp | 12 |
3 files changed, 16 insertions, 5 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 032efb0c1a..ff569ecffa 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3596,7 +3596,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://int.searchwww-phx0.damballah.lindenlab.com/viewer/[CATEGORY]?q=[QUERY]&p=[AUTH_KEY]&r=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]</string> + <string>http://int.searchwww-phx0.damballah.lindenlab.com/viewer/[CATEGORY]?q=[QUERY]&p=[AUTH_TOKEN]&r=[MATURITY]&lang=[LANGUAGE]&g=[GODLIKE]</string> </map> <key>HighResSnapshot</key> <map> diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp index b197ed0ac6..595d84f9f0 100644 --- a/indra/newview/llfloatersearch.cpp +++ b/indra/newview/llfloatersearch.cpp @@ -131,8 +131,13 @@ void LLFloaterSearch::search(const LLSD &key) subs["QUERY"] = LLURI::escape(search_text); // add the permissions token that login.cgi gave us + // We use "search_token", and fallback to "auth_token" if not present. LLSD search_token = LLLoginInstance::getInstance()->getResponse("search_token"); - subs["AUTH_KEY"] = search_token.asString(); + if (search_token.asString().empty()) + { + search_token = LLLoginInstance::getInstance()->getResponse("auth_token"); + } + subs["AUTH_TOKEN"] = search_token.asString(); // add the user's preferred maturity (can be changed via prefs) std::string maturity; diff --git a/indra/newview/llviewerhome.cpp b/indra/newview/llviewerhome.cpp index 2bae07f665..6299b4fabd 100644 --- a/indra/newview/llviewerhome.cpp +++ b/indra/newview/llviewerhome.cpp @@ -48,7 +48,7 @@ std::string LLViewerHome::getHomeURL() // this value from settings.xml and support various substitutions LLSD substitution; - substitution["AUTH_KEY"] = LLURI::escape(getAuthKey()); + substitution["AUTH_TOKEN"] = LLURI::escape(getAuthKey()); // get the home URL and expand all of the substitutions // (also adds things like [LANGUAGE], [VERSION], [OS], etc.) @@ -62,7 +62,13 @@ std::string LLViewerHome::getAuthKey() // return the value of the (optional) auth token returned by login.cgi // this lets the server provide an authentication token that we can // blindly pass to the Home web page for it to perform authentication. - static const std::string authKeyName("home_sidetray_token"); - return LLLoginInstance::getInstance()->getResponse(authKeyName); + // We use "home_sidetray_token", and fallback to "auth_token" if not + // present. + LLSD auth_token = LLLoginInstance::getInstance()->getResponse("home_sidetray_token"); + if (auth_token.asString().empty()) + { + auth_token = LLLoginInstance::getInstance()->getResponse("auth_token"); + } + return auth_token.asString(); } |