Kaynağa Gözat

Merge pull request #1591 from weseek/reactify-admin/fix-retrieve-data

Reactify admin/fix retrieve data
Yuki Takei 6 yıl önce
ebeveyn
işleme
763d53cd6d

+ 1 - 1
src/client/js/components/Admin/Security/GitHubSecuritySetting.jsx

@@ -74,7 +74,7 @@ class GitHubSecurityManagement extends React.Component {
               <input
               <input
                 id="isGitHubEnabled"
                 id="isGitHubEnabled"
                 type="checkbox"
                 type="checkbox"
-                checked={adminGeneralSecurityContainer.state.isGitHubEnabled}
+                checked={adminGeneralSecurityContainer.state.isGitHubEnabled || false}
                 onChange={() => { adminGeneralSecurityContainer.switchIsGitHubOAuthEnabled() }}
                 onChange={() => { adminGeneralSecurityContainer.switchIsGitHubOAuthEnabled() }}
               />
               />
               <label htmlFor="isGitHubEnabled">
               <label htmlFor="isGitHubEnabled">

+ 1 - 1
src/client/js/components/Admin/Security/GoogleSecuritySetting.jsx

@@ -74,7 +74,7 @@ class GoogleSecurityManagement extends React.Component {
               <input
               <input
                 id="isGoogleEnabled"
                 id="isGoogleEnabled"
                 type="checkbox"
                 type="checkbox"
-                checked={adminGeneralSecurityContainer.state.isGoogleEnabled}
+                checked={adminGeneralSecurityContainer.state.isGoogleEnabled || false}
                 onChange={() => { adminGeneralSecurityContainer.switchIsGoogleOAuthEnabled() }}
                 onChange={() => { adminGeneralSecurityContainer.switchIsGoogleOAuthEnabled() }}
               />
               />
               <label htmlFor="isGoogleEnabled">
               <label htmlFor="isGoogleEnabled">

+ 10 - 10
src/client/js/components/Admin/Security/LdapSecuritySetting.jsx

@@ -100,7 +100,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="serverUrl"
                   name="serverUrl"
-                  defaultValue={adminLdapSecurityContainer.state.serverUrl}
+                  defaultValue={adminLdapSecurityContainer.state.serverUrl || ''}
                   onChange={e => adminLdapSecurityContainer.changeServerUrl(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeServerUrl(e.target.value)}
                 />
                 />
                 <small>
                 <small>
@@ -148,7 +148,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="bindDN"
                   name="bindDN"
-                  defaultValue={adminLdapSecurityContainer.state.ldapBindDN}
+                  defaultValue={adminLdapSecurityContainer.state.ldapBindDN || ''}
                   onChange={e => adminLdapSecurityContainer.changeBindDN(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeBindDN(e.target.value)}
                 />
                 />
                 {(adminLdapSecurityContainer.state.isUserBind === false) ? (
                 {(adminLdapSecurityContainer.state.isUserBind === false) ? (
@@ -181,7 +181,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control passport-ldap-managerbind"
                   className="form-control passport-ldap-managerbind"
                   type="password"
                   type="password"
                   name="bindDNPassword"
                   name="bindDNPassword"
-                  defaultValue={adminLdapSecurityContainer.state.ldapBindDNPassword}
+                  defaultValue={adminLdapSecurityContainer.state.ldapBindDNPassword || ''}
                   onChange={e => adminLdapSecurityContainer.changeBindDNPassword(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeBindDNPassword(e.target.value)}
                 />
                 />
                 {(adminLdapSecurityContainer.state.bindMode === 'manager') ? (
                 {(adminLdapSecurityContainer.state.bindMode === 'manager') ? (
@@ -208,7 +208,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="searchFilter"
                   name="searchFilter"
-                  defaultValue={adminLdapSecurityContainer.state.ldapSearchFilter}
+                  defaultValue={adminLdapSecurityContainer.state.ldapSearchFilter || ''}
                   onChange={e => adminLdapSecurityContainer.changeSearchFilter(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeSearchFilter(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -243,7 +243,7 @@ class LdapSecuritySetting extends React.Component {
                   type="text"
                   type="text"
                   placeholder="Default: uid"
                   placeholder="Default: uid"
                   name="attrMapUsername"
                   name="attrMapUsername"
-                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapUsername}
+                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapUsername || ''}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapUsername(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapUsername(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -283,7 +283,7 @@ class LdapSecuritySetting extends React.Component {
                   type="text"
                   type="text"
                   placeholder="Default: mail"
                   placeholder="Default: mail"
                   name="attrMapMail"
                   name="attrMapMail"
-                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapMail}
+                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapMail || ''}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapMail(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapMail(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -301,7 +301,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="attrMapName"
                   name="attrMapName"
-                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapName}
+                  defaultValue={adminLdapSecurityContainer.state.ldapAttrMapName || ''}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapName(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeAttrMapName(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -324,7 +324,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="groupSearchBase"
                   name="groupSearchBase"
-                  defaultValue={adminLdapSecurityContainer.state.ldapGroupSearchBase}
+                  defaultValue={adminLdapSecurityContainer.state.ldapGroupSearchBase || ''}
                   onChange={e => adminLdapSecurityContainer.changeGroupSearchBase(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeGroupSearchBase(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -344,7 +344,7 @@ class LdapSecuritySetting extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="groupSearchFilter"
                   name="groupSearchFilter"
-                  defaultValue={adminLdapSecurityContainer.state.ldapGroupSearchFilter}
+                  defaultValue={adminLdapSecurityContainer.state.ldapGroupSearchFilter || ''}
                   onChange={e => adminLdapSecurityContainer.changeGroupSearchFilter(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeGroupSearchFilter(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -374,7 +374,7 @@ class LdapSecuritySetting extends React.Component {
                   type="text"
                   type="text"
                   placeholder="Default: uid"
                   placeholder="Default: uid"
                   name="groupDnProperty"
                   name="groupDnProperty"
-                  defaultValue={adminLdapSecurityContainer.state.ldapGroupDnProperty}
+                  defaultValue={adminLdapSecurityContainer.state.ldapGroupDnProperty || ''}
                   onChange={e => adminLdapSecurityContainer.changeGroupDnProperty(e.target.value)}
                   onChange={e => adminLdapSecurityContainer.changeGroupDnProperty(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">

+ 1 - 1
src/client/js/components/Admin/Security/LocalSecuritySetting.jsx

@@ -142,7 +142,7 @@ class LocalSecuritySetting extends React.Component {
                     className="form-control"
                     className="form-control"
                     type="textarea"
                     type="textarea"
                     name="registrationWhiteList"
                     name="registrationWhiteList"
-                    value={adminLocalSecurityContainer.state.registrationWhiteList}
+                    value={adminLocalSecurityContainer.state.registrationWhiteList.join('/n')}
                     onChange={e => adminLocalSecurityContainer.changeRegistrationWhiteList(e.target.value)}
                     onChange={e => adminLocalSecurityContainer.changeRegistrationWhiteList(e.target.value)}
                   />
                   />
                   <p className="help-block small">{t('security_setting.restrict_emails')}<br />{t('security_setting.for_instance')}
                   <p className="help-block small">{t('security_setting.restrict_emails')}<br />{t('security_setting.for_instance')}

+ 9 - 9
src/client/js/components/Admin/Security/OidcSecuritySetting.jsx

@@ -117,7 +117,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcProviderName"
                   name="oidcProviderName"
-                  value={adminOidcSecurityContainer.state.oidcProviderName}
+                  value={adminOidcSecurityContainer.state.oidcProviderName || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcProviderName(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcProviderName(e.target.value)}
                 />
                 />
               </div>
               </div>
@@ -130,7 +130,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcIssuerHost"
                   name="oidcIssuerHost"
-                  value={adminOidcSecurityContainer.state.oidcIssuerHost}
+                  value={adminOidcSecurityContainer.state.oidcIssuerHost || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcIssuerHost(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcIssuerHost(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -146,7 +146,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcClientId"
                   name="oidcClientId"
-                  value={adminOidcSecurityContainer.state.oidcClientId}
+                  value={adminOidcSecurityContainer.state.oidcClientId || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcClientId(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcClientId(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -162,7 +162,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcClientSecret"
                   name="oidcClientSecret"
-                  value={adminOidcSecurityContainer.state.oidcClientSecret}
+                  value={adminOidcSecurityContainer.state.oidcClientSecret || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcClientSecret(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcClientSecret(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -182,7 +182,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcAttrMapId"
                   name="oidcAttrMapId"
-                  value={adminOidcSecurityContainer.state.oidcAttrMapId}
+                  value={adminOidcSecurityContainer.state.oidcAttrMapId || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapId(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapId(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -198,7 +198,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcAttrMapUserName"
                   name="oidcAttrMapUserName"
-                  value={adminOidcSecurityContainer.state.oidcAttrMapUserName}
+                  value={adminOidcSecurityContainer.state.oidcAttrMapUserName || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapUserName(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapUserName(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -214,7 +214,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcAttrMapName"
                   name="oidcAttrMapName"
-                  value={adminOidcSecurityContainer.state.oidcAttrMapName}
+                  value={adminOidcSecurityContainer.state.oidcAttrMapName || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapName(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapName(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -230,7 +230,7 @@ class OidcSecurityManagement extends React.Component {
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
                   name="oidcAttrMapEmail"
                   name="oidcAttrMapEmail"
-                  value={adminOidcSecurityContainer.state.oidcAttrMapEmail}
+                  value={adminOidcSecurityContainer.state.oidcAttrMapEmail || ''}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapEmail(e.target.value)}
                   onChange={e => adminOidcSecurityContainer.changeOidcAttrMapEmail(e.target.value)}
                 />
                 />
                 <p className="help-block">
                 <p className="help-block">
@@ -245,7 +245,7 @@ class OidcSecurityManagement extends React.Component {
                 <input
                 <input
                   className="form-control"
                   className="form-control"
                   type="text"
                   type="text"
-                  value={adminOidcSecurityContainer.state.callbackUrl}
+                  value={adminOidcSecurityContainer.state.callbackUrl || ''}
                   readOnly
                   readOnly
                 />
                 />
                 <p className="help-block small">{t('security_setting.desc_of_callback_URL', { AuthName: 'OAuth' })}</p>
                 <p className="help-block small">{t('security_setting.desc_of_callback_URL', { AuthName: 'OAuth' })}</p>

+ 17 - 17
src/client/js/components/Admin/Security/SamlSecuritySetting.jsx

@@ -39,14 +39,14 @@ class SamlSecurityManagement extends React.Component {
     try {
     try {
       const samlAuth = await adminSamlSecurityContainer.retrieveSecurityData();
       const samlAuth = await adminSamlSecurityContainer.retrieveSecurityData();
       this.setState({
       this.setState({
-        envEntryPoint: samlAuth.samlEnvVarEntryPoint || '',
-        envIssuer: samlAuth.samlEnvVarIssuer || '',
-        envCert: samlAuth.samlEnvVarCert || '',
-        envAttrMapId: samlAuth.samlEnvVarAttrMapId || '',
-        envAttrMapUserName: samlAuth.samlEnvVarAttrMapUserName || '',
-        envAttrMapMail: samlAuth.samlEnvVarAttrMapMail || '',
-        envAttrMapFirstName: samlAuth.samlEnvVarAttrMapFirstName || '',
-        envAttrMapLastName: samlAuth.samlEnvVarAttrMapLastName || '',
+        envEntryPoint: samlAuth.samlEnvVarEntryPoint,
+        envIssuer: samlAuth.samlEnvVarIssuer,
+        envCert: samlAuth.samlEnvVarCert,
+        envAttrMapId: samlAuth.samlEnvVarAttrMapId,
+        envAttrMapUserName: samlAuth.samlEnvVarAttrMapUserName,
+        envAttrMapMail: samlAuth.samlEnvVarAttrMapMail,
+        envAttrMapFirstName: samlAuth.samlEnvVarAttrMapFirstName,
+        envAttrMapLastName: samlAuth.samlEnvVarAttrMapLastName,
       });
       });
     }
     }
     catch (err) {
     catch (err) {
@@ -178,7 +178,7 @@ class SamlSecurityManagement extends React.Component {
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envEntryPoint}
+                      value={this.state.envEntryPoint || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -202,7 +202,7 @@ class SamlSecurityManagement extends React.Component {
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envIssuer}
+                      value={this.state.envIssuer || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -219,7 +219,7 @@ class SamlSecurityManagement extends React.Component {
                       rows="5"
                       rows="5"
                       name="samlCert"
                       name="samlCert"
                       readOnly={useOnlyEnvVars}
                       readOnly={useOnlyEnvVars}
-                      defaultValue={adminSamlSecurityContainer.state.samlcert}
+                      value={adminSamlSecurityContainer.state.samlCert}
                       onChange={e => adminSamlSecurityContainer.changeSamlCert(e.target.value)}
                       onChange={e => adminSamlSecurityContainer.changeSamlCert(e.target.value)}
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -248,7 +248,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                       type="text"
                       type="text"
                       rows="5"
                       rows="5"
                       readOnly
                       readOnly
-                      value={this.state.envCert}
+                      value={this.state.envCert || ''}
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
                       <small dangerouslySetInnerHTML={{ __html: t('security_setting.SAML.Use env var if empty', { env: 'SAML_CERT' }) }} />
                       <small dangerouslySetInnerHTML={{ __html: t('security_setting.SAML.Use env var if empty', { env: 'SAML_CERT' }) }} />
@@ -292,7 +292,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envAttrMapId}
+                      value={this.state.envAttrMapId || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -318,7 +318,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envAttrMapUserName}
+                      value={this.state.envAttrMapUserName || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -344,7 +344,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envAttrMapMail}
+                      value={this.state.envAttrMapMail || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -371,7 +371,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envAttrMapFirstName}
+                      value={this.state.envAttrMapFirstName || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">
@@ -402,7 +402,7 @@ pWVdnzS1VCO8fKsJ7YYIr+JmHvseph3kFUOI5RqkCcMZlKUv83aUThsTHw==
                     <input
                     <input
                       className="form-control"
                       className="form-control"
                       type="text"
                       type="text"
-                      value={this.state.envAttrMapLastName}
+                      value={this.state.envAttrMapLastName || ''}
                       readOnly
                       readOnly
                     />
                     />
                     <p className="help-block">
                     <p className="help-block">

+ 1 - 1
src/client/js/services/AdminBasicSecurityContainer.js

@@ -29,7 +29,7 @@ export default class AdminBasicSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { basicAuth } = response.data.securityParams;
     const { basicAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      isSameUsernameTreatedAsIdenticalUser: basicAuth.isSameUsernameTreatedAsIdenticalUser || false,
+      isSameUsernameTreatedAsIdenticalUser: basicAuth.isSameUsernameTreatedAsIdenticalUser,
     });
     });
   }
   }
 
 

+ 12 - 12
src/client/js/services/AdminGeneralSecurityContainer.js

@@ -44,18 +44,18 @@ export default class AdminGeneralSecurityContainer extends Container {
     const { generalSetting, generalAuth } = response.data.securityParams;
     const { generalSetting, generalAuth } = response.data.securityParams;
     this.onIsWikiModeForced(generalSetting.wikiMode);
     this.onIsWikiModeForced(generalSetting.wikiMode);
     this.setState({
     this.setState({
-      currentPageCompleteDeletionAuthority: generalSetting.pageCompleteDeletionAuthority || 'anyOne',
-      isShowRestrictedByOwner: !generalSetting.hideRestrictedByOwner || false,
-      isShowRestrictedByGroup: !generalSetting.hideRestrictedByGroup || false,
-      wikiMode: generalSetting.wikiMode || '',
-      isLocalEnabled: generalAuth.isLocalEnabled || false,
-      isLdapEnabled: generalAuth.isLdapEnabled || false,
-      isSamlEnabled: generalAuth.isSamlEnabled || false,
-      isOidcEnabled: generalAuth.isOidcEnabled || false,
-      isBasicEnabled: generalAuth.isBasicEnabled || false,
-      isGoogleEnabled: generalAuth.isGoogleEnabled || false,
-      isGitHubEnabled: generalAuth.isGitHubEnabled || false,
-      isTwitterEnabled: generalAuth.isTwitterEnabled || false,
+      currentPageCompleteDeletionAuthority: generalSetting.pageCompleteDeletionAuthority,
+      isShowRestrictedByOwner: !generalSetting.hideRestrictedByOwner,
+      isShowRestrictedByGroup: !generalSetting.hideRestrictedByGroup,
+      wikiMode: generalSetting.wikiMode,
+      isLocalEnabled: generalAuth.isLocalEnabled,
+      isLdapEnabled: generalAuth.isLdapEnabled,
+      isSamlEnabled: generalAuth.isSamlEnabled,
+      isOidcEnabled: generalAuth.isOidcEnabled,
+      isBasicEnabled: generalAuth.isBasicEnabled,
+      isGoogleEnabled: generalAuth.isGoogleEnabled,
+      isGitHubEnabled: generalAuth.isGitHubEnabled,
+      isTwitterEnabled: generalAuth.isTwitterEnabled,
     });
     });
   }
   }
 
 

+ 3 - 4
src/client/js/services/AdminGitHubSecurityContainer.js

@@ -35,9 +35,9 @@ export default class AdminGitHubSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { githubOAuth } = response.data.securityParams;
     const { githubOAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      githubClientId: githubOAuth.githubClientId || '',
-      githubClientSecret: githubOAuth.githubClientSecret || '',
-      isSameUsernameTreatedAsIdenticalUser: githubOAuth.isSameUsernameTreatedAsIdenticalUser || false,
+      githubClientId: githubOAuth.githubClientId,
+      githubClientSecret: githubOAuth.githubClientSecret,
+      isSameUsernameTreatedAsIdenticalUser: githubOAuth.isSameUsernameTreatedAsIdenticalUser,
     });
     });
   }
   }
 
 
@@ -83,7 +83,6 @@ export default class AdminGitHubSecurityContainer extends Container {
     const { securitySettingParams } = response.data;
     const { securitySettingParams } = response.data;
 
 
     this.setState({
     this.setState({
-      isGitHubStrategySetup: securitySettingParams.isGitHubStrategySetup,
       githubClientId: securitySettingParams.githubClientId,
       githubClientId: securitySettingParams.githubClientId,
       githubClientSecret: securitySettingParams.githubClientSecret,
       githubClientSecret: securitySettingParams.githubClientSecret,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,

+ 3 - 4
src/client/js/services/AdminGoogleSecurityContainer.js

@@ -36,9 +36,9 @@ export default class AdminGoogleSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { googleOAuth } = response.data.securityParams;
     const { googleOAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      googleClientId: googleOAuth.googleClientId || '',
-      googleClientSecret: googleOAuth.googleClientSecret || '',
-      isSameUsernameTreatedAsIdenticalUser: googleOAuth.isSameUsernameTreatedAsIdenticalUser || false,
+      googleClientId: googleOAuth.googleClientId,
+      googleClientSecret: googleOAuth.googleClientSecret,
+      isSameUsernameTreatedAsIdenticalUser: googleOAuth.isSameUsernameTreatedAsIdenticalUser,
     });
     });
   }
   }
 
 
@@ -84,7 +84,6 @@ export default class AdminGoogleSecurityContainer extends Container {
     const { securitySettingParams } = response.data;
     const { securitySettingParams } = response.data;
 
 
     this.setState({
     this.setState({
-      isGoogleStrategySetup: securitySettingParams.isGoogleStrategySetup,
       googleClientId: securitySettingParams.googleClientId,
       googleClientId: securitySettingParams.googleClientId,
       googleClientSecret: securitySettingParams.googleClientSecret,
       googleClientSecret: securitySettingParams.googleClientSecret,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,

+ 12 - 12
src/client/js/services/AdminLdapSecurityContainer.js

@@ -40,18 +40,18 @@ export default class AdminLdapSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { ldapAuth } = response.data.securityParams;
     const { ldapAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      serverUrl: ldapAuth.serverUrl || '',
-      isUserBind: ldapAuth.isUserBind || false,
-      ldapBindDN: ldapAuth.ldapBindDN || '',
-      ldapBindDNPassword: ldapAuth.ldapBindDNPassword || '',
-      ldapSearchFilter: ldapAuth.ldapSearchFilter || '',
-      ldapAttrMapUsername: ldapAuth.ldapAttrMapUsername || '',
-      isSameUsernameTreatedAsIdenticalUser: ldapAuth.isSameUsernameTreatedAsIdenticalUser || false,
-      ldapAttrMapMail: ldapAuth.ldapAttrMapMail || '',
-      ldapAttrMapName: ldapAuth.ldapAttrMapName || '',
-      ldapGroupSearchBase: ldapAuth.ldapGroupSearchBase || '',
-      ldapGroupSearchFilter: ldapAuth.ldapGroupSearchFilter || '',
-      ldapGroupDnProperty: ldapAuth.ldapGroupDnProperty || '',
+      serverUrl: ldapAuth.serverUrl,
+      isUserBind: ldapAuth.isUserBind,
+      ldapBindDN: ldapAuth.ldapBindDN,
+      ldapBindDNPassword: ldapAuth.ldapBindDNPassword,
+      ldapSearchFilter: ldapAuth.ldapSearchFilter,
+      ldapAttrMapUsername: ldapAuth.ldapAttrMapUsername,
+      isSameUsernameTreatedAsIdenticalUser: ldapAuth.isSameUsernameTreatedAsIdenticalUser,
+      ldapAttrMapMail: ldapAuth.ldapAttrMapMail,
+      ldapAttrMapName: ldapAuth.ldapAttrMapName,
+      ldapGroupSearchBase: ldapAuth.ldapGroupSearchBase,
+      ldapGroupSearchFilter: ldapAuth.ldapGroupSearchFilter,
+      ldapGroupDnProperty: ldapAuth.ldapGroupDnProperty,
     });
     });
   }
   }
 
 

+ 3 - 3
src/client/js/services/AdminLocalSecurityContainer.js

@@ -18,7 +18,7 @@ export default class AdminLocalSecurityContainer extends Container {
 
 
     this.state = {
     this.state = {
       registrationMode: 'Open',
       registrationMode: 'Open',
-      registrationWhiteList: '',
+      registrationWhiteList: [],
     };
     };
 
 
   }
   }
@@ -27,8 +27,8 @@ export default class AdminLocalSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { localSetting } = response.data.securityParams;
     const { localSetting } = response.data.securityParams;
     this.setState({
     this.setState({
-      registrationMode: localSetting.registrationMode || 'Open',
-      registrationWhiteList: localSetting.registrationWhiteList.join('\n') || '',
+      registrationMode: localSetting.registrationMode,
+      registrationWhiteList: localSetting.registrationWhiteList,
     });
     });
   }
   }
 
 

+ 10 - 10
src/client/js/services/AdminOidcSecurityContainer.js

@@ -42,16 +42,16 @@ export default class AdminOidcSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { oidcAuth } = response.data.securityParams;
     const { oidcAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      oidcProviderName: oidcAuth.oidcProviderName || '',
-      oidcIssuerHost: oidcAuth.oidcIssuerHost || '',
-      oidcClientId: oidcAuth.oidcClientId || '',
-      oidcClientSecret: oidcAuth.oidcClientSecret || '',
-      oidcAttrMapId: oidcAuth.oidcAttrMapId || '',
-      oidcAttrMapUserName: oidcAuth.oidcAttrMapUserName || '',
-      oidcAttrMapName: oidcAuth.oidcAttrMapName || '',
-      oidcAttrMapEmail: oidcAuth.oidcAttrMapEmail || '',
-      isSameUsernameTreatedAsIdenticalUser: oidcAuth.isSameUsernameTreatedAsIdenticalUser || false,
-      isSameEmailTreatedAsIdenticalUser: oidcAuth.isSameEmailTreatedAsIdenticalUser || false,
+      oidcProviderName: oidcAuth.oidcProviderName,
+      oidcIssuerHost: oidcAuth.oidcIssuerHost,
+      oidcClientId: oidcAuth.oidcClientId,
+      oidcClientSecret: oidcAuth.oidcClientSecret,
+      oidcAttrMapId: oidcAuth.oidcAttrMapId,
+      oidcAttrMapUserName: oidcAuth.oidcAttrMapUserName,
+      oidcAttrMapName: oidcAuth.oidcAttrMapName,
+      oidcAttrMapEmail: oidcAuth.oidcAttrMapEmail,
+      isSameUsernameTreatedAsIdenticalUser: oidcAuth.isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser: oidcAuth.isSameEmailTreatedAsIdenticalUser,
     });
     });
   }
   }
 
 

+ 10 - 10
src/client/js/services/AdminSamlSecurityContainer.js

@@ -45,16 +45,16 @@ export default class AdminSamlSecurityContainer extends Container {
     const { samlAuth } = response.data.securityParams;
     const { samlAuth } = response.data.securityParams;
     this.setState({
     this.setState({
       missingMandatoryConfigKeys: samlAuth.missingMandatoryConfigKeys,
       missingMandatoryConfigKeys: samlAuth.missingMandatoryConfigKeys,
-      samlEntryPoint: samlAuth.samlEntryPoint || '',
-      samlIssuer: samlAuth.samlIssuer || '',
-      samlCert: samlAuth.samlCert || '',
-      samlAttrMapId: samlAuth.samlAttrMapId || '',
-      samlAttrMapUserName: samlAuth.samlAttrMapUserName || '',
-      samlAttrMapMail: samlAuth.samlAttrMapMail || '',
-      samlAttrMapFirstName: samlAuth.samlAttrMapFirstName || '',
-      samlAttrMapLastName: samlAuth.samlAttrMapLastName || '',
-      isSameUsernameTreatedAsIdenticalUser: samlAuth.isSameUsernameTreatedAsIdenticalUser || false,
-      isSameEmailTreatedAsIdenticalUser: samlAuth.isSameEmailTreatedAsIdenticalUser || false,
+      samlEntryPoint: samlAuth.samlEntryPoint,
+      samlIssuer: samlAuth.samlIssuer,
+      samlCert: samlAuth.samlCert,
+      samlAttrMapId: samlAuth.samlAttrMapId,
+      samlAttrMapUserName: samlAuth.samlAttrMapUserName,
+      samlAttrMapMail: samlAuth.samlAttrMapMail,
+      samlAttrMapFirstName: samlAuth.samlAttrMapFirstName,
+      samlAttrMapLastName: samlAuth.samlAttrMapLastName,
+      isSameUsernameTreatedAsIdenticalUser: samlAuth.isSameUsernameTreatedAsIdenticalUser,
+      isSameEmailTreatedAsIdenticalUser: samlAuth.isSameEmailTreatedAsIdenticalUser,
     });
     });
     return samlAuth;
     return samlAuth;
   }
   }

+ 3 - 4
src/client/js/services/AdminTwitterSecurityContainer.js

@@ -35,9 +35,9 @@ export default class AdminTwitterSecurityContainer extends Container {
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const response = await this.appContainer.apiv3.get('/security-setting/');
     const { twitterOAuth } = response.data.securityParams;
     const { twitterOAuth } = response.data.securityParams;
     this.setState({
     this.setState({
-      twitterConsumerKey: twitterOAuth.twitterConsumerKey || '',
-      twitterConsumerSecret: twitterOAuth.twitterConsumerSecret || '',
-      isSameUsernameTreatedAsIdenticalUser: twitterOAuth.isSameUsernameTreatedAsIdenticalUser || false,
+      twitterConsumerKey: twitterOAuth.twitterConsumerKey,
+      twitterConsumerSecret: twitterOAuth.twitterConsumerSecret,
+      isSameUsernameTreatedAsIdenticalUser: twitterOAuth.isSameUsernameTreatedAsIdenticalUser,
     });
     });
   }
   }
 
 
@@ -83,7 +83,6 @@ export default class AdminTwitterSecurityContainer extends Container {
     const { securitySettingParams } = response.data;
     const { securitySettingParams } = response.data;
 
 
     this.setState({
     this.setState({
-      isTwitterStrategySetup: securitySettingParams.isTwitterStrategySetup,
       twitterConsumerKey: securitySettingParams.twitterConsumerKey,
       twitterConsumerKey: securitySettingParams.twitterConsumerKey,
       twitterConsumerSecret: securitySettingParams.twitterConsumerSecret,
       twitterConsumerSecret: securitySettingParams.twitterConsumerSecret,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,
       isSameUsernameTreatedAsIdenticalUser: securitySettingParams.isSameUsernameTreatedAsIdenticalUser,

+ 4 - 7
src/server/routes/apiv3/security-setting.js

@@ -327,9 +327,9 @@ module.exports = (crowi) => {
         isSamlEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-saml:isEnabled'),
         isSamlEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-saml:isEnabled'),
         isOidcEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-oidc:isEnabled'),
         isOidcEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-oidc:isEnabled'),
         isBasicEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-basic:isEnabled'),
         isBasicEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-basic:isEnabled'),
-        isGoogleOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-google:isEnabled'),
-        isGitHubOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-github:isEnabled'),
-        isTwitterOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
+        isGoogleEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-google:isEnabled'),
+        isGitHubEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-github:isEnabled'),
+        isTwitterEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isEnabled'),
       },
       },
       ldapAuth: {
       ldapAuth: {
         serverUrl: await crowi.configManager.getConfig('crowi', 'security:passport-ldap:serverUrl'),
         serverUrl: await crowi.configManager.getConfig('crowi', 'security:passport-ldap:serverUrl'),
@@ -579,7 +579,7 @@ module.exports = (crowi) => {
       'security:passport-ldap:bindDN': req.body.ldapBindDN,
       'security:passport-ldap:bindDN': req.body.ldapBindDN,
       'security:passport-ldap:bindDNPassword': req.body.ldapBindDNPassword,
       'security:passport-ldap:bindDNPassword': req.body.ldapBindDNPassword,
       'security:passport-ldap:searchFilter': req.body.ldapSearchFilter,
       'security:passport-ldap:searchFilter': req.body.ldapSearchFilter,
-      'security:passport-ldap:attrMapUsername': req.body.ldapAttrMapUserName,
+      'security:passport-ldap:attrMapUsername': req.body.ldapAttrMapUsername,
       'security:passport-ldap:isSameUsernameTreatedAsIdenticalUser': req.body.isSameUsernameTreatedAsIdenticalUser,
       'security:passport-ldap:isSameUsernameTreatedAsIdenticalUser': req.body.isSameUsernameTreatedAsIdenticalUser,
       'security:passport-ldap:attrMapMail': req.body.ldapAttrMapMail,
       'security:passport-ldap:attrMapMail': req.body.ldapAttrMapMail,
       'security:passport-ldap:attrMapName': req.body.ldapAttrMapName,
       'security:passport-ldap:attrMapName': req.body.ldapAttrMapName,
@@ -806,7 +806,6 @@ module.exports = (crowi) => {
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.passportService.setupStrategyById('google');
       await crowi.passportService.setupStrategyById('google');
       const securitySettingParams = {
       const securitySettingParams = {
-        isGoogleOAuthEnabled: await crowi.configManager.getConfig('crowi', 'security:passport-google:isEnabled'),
         googleClientId: await crowi.configManager.getConfig('crowi', 'security:passport-google:clientId'),
         googleClientId: await crowi.configManager.getConfig('crowi', 'security:passport-google:clientId'),
         googleClientSecret: await crowi.configManager.getConfig('crowi', 'security:passport-google:clientSecret'),
         googleClientSecret: await crowi.configManager.getConfig('crowi', 'security:passport-google:clientSecret'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-google:isSameUsernameTreatedAsIdenticalUser'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-google:isSameUsernameTreatedAsIdenticalUser'),
@@ -852,7 +851,6 @@ module.exports = (crowi) => {
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.passportService.setupStrategyById('github');
       await crowi.passportService.setupStrategyById('github');
       const securitySettingParams = {
       const securitySettingParams = {
-        isGitHubStrategySetup: await crowi.passportService.isGitHubStrategySetup,
         githubClientId: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientId'),
         githubClientId: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientId'),
         githubClientSecret: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientSecret'),
         githubClientSecret: await crowi.configManager.getConfig('crowi', 'security:passport-github:clientSecret'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-github:isSameUsernameTreatedAsIdenticalUser'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-github:isSameUsernameTreatedAsIdenticalUser'),
@@ -900,7 +898,6 @@ module.exports = (crowi) => {
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
       await crowi.passportService.setupStrategyById('twitter');
       await crowi.passportService.setupStrategyById('twitter');
       const securitySettingParams = {
       const securitySettingParams = {
-        isTwitterStrategySetup: await crowi.passportService.isTwitterStrategySetup,
         twitterConsumerId: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey'),
         twitterConsumerId: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerKey'),
         twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerSecret'),
         twitterConsumerSecret: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:consumerSecret'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser'),
         isSameUsernameTreatedAsIdenticalUser: await crowi.configManager.getConfig('crowi', 'security:passport-twitter:isSameUsernameTreatedAsIdenticalUser'),