Resolve conflicts -- Jason, please check that the authentication logic is still good.
authorMike Taylor <mike@indexdata.com>
Thu, 21 Aug 2014 18:57:04 +0000 (19:57 +0100)
committerMike Taylor <mike@indexdata.com>
Thu, 21 Aug 2014 18:57:04 +0000 (19:57 +0100)
1  2 
src/mkws-core.js

@@@ -664,12 -655,36 +669,34 @@@ mkws.pagerNext = function(tname) 
        }
      */
  
+     function sp_auth_url(config) {
+       if (config.service_proxy_auth) {
+       mkws.log("using pre-baked sp_auth_url '" + config.service_proxy_auth + "'");
+       return config.service_proxy_auth;
+       } else {
+       var s = '//';
+       s += config.auth_hostname ? config.auth_hostname : config.pp2_hostname;
+       s += '/' + config.sp_path;
+         var q = config.sp_auth_query;
+         if (q) {
+           s += '?' + q;
+         }
+       var c = config.sp_auth_credentials;
+       if (c) {
+         s += ('&username=' + c.substr(0, c.indexOf('/')) +
+               '&password=' + c.substr(c.indexOf('/')+1));
+       }
+       mkws.log("generated sp_auth_url '" + s + "'");
+       return s;
+       }
+     }
 -    if (mkws.config.use_service_proxy) {
 -      if (!mkws.authenticated) {
 -        authenticateSession(sp_auth_url(mkws.config),
 -                            mkws.config.service_proxy_auth_domain,
 -                            mkws.config.pazpar2_url);
 -      }
 -    } else {
 -      // raw pp2
 +    if (mkws.config.use_service_proxy && !mkws.authenticated && !mkws.authenticating) {
-       authenticateSession(mkws.config.service_proxy_auth,
++      authenticateSession(sp_auth_url(mkws.config),
 +                          mkws.config.service_proxy_auth_domain,
 +                          mkws.config.pazpar2_url);
 +    } else if (!mkws.authenticating) {
 +      // raw pp2 or we have a session already open
        runAutoSearches();
      }