15255: Log missing workbench2Url value to console. 15255-handle-missing-wb2
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 22 May 2019 19:33:29 +0000 (15:33 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Wed, 22 May 2019 19:38:19 +0000 (15:38 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

src/views/workbench/fed-login.tsx

index d77ddfb0d22c7ca4043cb2bffedae7cce5fa1f41..c64778a3c805f203ba97a9bde63a720cab690540 100644 (file)
@@ -34,13 +34,21 @@ export const FedLogin = connect(mapStateToProps)(
             const [, tokenUuid, token] = apiToken.split("/");
             return <div id={"fedtoken-iframe-div"}>
                 {Object.keys(remoteHostsConfig)
-                    .map((k) => k !== localCluster && remoteHostsConfig[k].workbench2Url &&
-                        <iframe key={k} src={`${remoteHostsConfig[k].workbench2Url}/fedtoken?api_token=${getSaltedToken(k, tokenUuid, token)}`} style={{
+                    .map((k) => {
+                        if (k === localCluster) {
+                            return;
+                        }
+                        if (!remoteHostsConfig[k].workbench2Url) {
+                            console.log(`Cluster ${k} does not define workbench2Url.  Federated login / cross-site linking to ${k} is unavailable.  Tell the admin of ${k} to set Services->Workbench2->ExternalURL in config.yml.`);
+                            return;
+                        }
+                        return <iframe key={k} src={`${remoteHostsConfig[k].workbench2Url}/fedtoken?api_token=${getSaltedToken(k, tokenUuid, token)}`} style={{
                             height: 0,
                             width: 0,
                             visibility: "hidden"
                         }}
-                        />)}
+                        />;
+                    })}
             </div>;
         }
     });