11454: Code cleanup. Removed local wb link on sessions page.
authorLucas Di Pentima <ldipentima@veritasgenetics.com>
Thu, 8 Feb 2018 22:11:44 +0000 (19:11 -0300)
committerLucas Di Pentima <ldipentima@veritasgenetics.com>
Thu, 8 Feb 2018 22:11:44 +0000 (19:11 -0300)
Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima@veritasgenetics.com>

apps/workbench/app/assets/javascripts/components/sessions.js
apps/workbench/app/assets/javascripts/models/session_db.js

index 8e947cb4193d81d72337e01dff44dcc2f62583e1..be11b50aa1f2d1b887b0d0d31792c74510a0f957 100644 (file)
@@ -37,13 +37,14 @@ window.SessionsTable = {
                 ])),
                 m('tbody', [
                     Object.keys(sessions).map(function(uuidPrefix) {
-                        var session = sessions[uuidPrefix]
+                        var session = sessions[uuidPrefix];
                         return m('tr', [
                             session.token && session.user ? [
                                 m('td', session.user.is_active ?
                                     m('span.label.label-success', 'logged in') :
                                     m('span.label.label-warning', 'inactive')),
                                 m('td', {title: session.baseURL}, [
+                                    session.isFromRails ? uuidPrefix :
                                     m('a', {
                                         href: db.workbenchBaseURL(session) + '?api_token=' + session.token
                                     }, uuidPrefix)
index 99768db54467400bad8a4dcfa70993b3edf51c1f..93279a2300710ac9fd15c1d36d0fa4f244ebc0f2 100644 (file)
@@ -93,12 +93,12 @@ window.SessionDB = function() {
                 fallbackLogin = true;
             }
             var session = db.loadLocal();
-            var uuidPrefix = session.user.owner_uuid.slice(0, 5);
             var apiHostname = new URL(session.baseURL).hostname;
             m.request(session.baseURL+'discovery/v1/apis/arvados/v1/rest').then(function(localDD) {
+                var uuidPrefix = localDD.uuidPrefix;
                 m.request(baseURL+'discovery/v1/apis/arvados/v1/rest').then(function(dd) {
                     if (uuidPrefix in dd.remoteHosts ||
-                        (dd.remoteHostsViaDNS && apiHostname.indexOf('arvadosapi.com') >= 0)) {
+                        (dd.remoteHostsViaDNS && apiHostname.endsWith('.arvadosapi.com'))) {
                         // Federated identity login via salted token
                         db.saltedToken(dd.uuidPrefix).then(function(token) {
                             m.request(baseURL+'arvados/v1/users/current', {
@@ -269,9 +269,13 @@ window.SessionDB = function() {
             var sessions = db.loadActive();
             Object.keys(sessions).map(function(uuidPrefix) {
                 session = sessions[uuidPrefix];
-                if (!session.isFromRails && session.token && session.token.indexOf('v2/') < 0) {
-                    // Only try the federated login
-                    db.login(session.baseURL, false);
+                if (!session.isFromRails && session.token) {
+                    db.saltedToken(uuidPrefix).then(function(saltedToken) {
+                        if (session.token != saltedToken) {
+                            // Only try the federated login
+                            db.login(session.baseURL, false);
+                        }
+                    });
                 }
             });
         },