16735: Added array of possible login methods
authorDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Fri, 21 Aug 2020 15:44:01 +0000 (17:44 +0200)
committerDaniel Kutyła <daniel.kutyla@contractors.roche.com>
Fri, 21 Aug 2020 15:44:01 +0000 (17:44 +0200)
Arvados-DCO-1.1-Signed-off-by: Daniel Kutyła <daniel.kutyla@contractors.roche.com>

src/views/login-panel/login-panel.tsx

index 1d7e6ad442627d0936feb3d9989303c689977379..c857c0b287efbf382c4a0c0c55278a0ec4aeb6cf 100644 (file)
@@ -70,9 +70,14 @@ type LoginPanelProps = DispatchProp<any> & WithStyles<CssRules> & {
     passwordLogin: boolean,
 };
 
+const loginOptions = ['LDAP', 'PAM'];
+
 export const requirePasswordLogin = (config: Config): boolean => {
-    if (config && config.clusterConfig && config.clusterConfig.Login && (config.clusterConfig.Login.LDAP || config.clusterConfig.Login.PAM)) {
-        return config.clusterConfig.Login.LDAP.Enable || config.clusterConfig.Login.PAM.Enable || false;
+    if (config && config.clusterConfig && config.clusterConfig.Login) {
+        return loginOptions
+            .filter(loginOption => !!config.clusterConfig.Login[loginOption])
+            .map(loginOption => config.clusterConfig.Login[loginOption].Enable)
+            .find(enabled => enabled === true) || false;
     }
     return false;
 };