Răsfoiți Sursa

fix: handle blank configurations by using toNonBlankStringOrUndefined for SAML settings

Yuki Takei 3 luni în urmă
părinte
comite
c0db007a72
1 a modificat fișierele cu 10 adăugiri și 10 ștergeri
  1. 10 10
      apps/app/src/server/routes/apiv3/security-settings/index.js

+ 10 - 10
apps/app/src/server/routes/apiv3/security-settings/index.js

@@ -1617,23 +1617,23 @@ module.exports = (crowi) => {
       }
       }
 
 
       const requestParams = {
       const requestParams = {
-        'security:passport-saml:entryPoint': req.body.entryPoint,
-        'security:passport-saml:issuer': req.body.issuer,
-        'security:passport-saml:cert': req.body.cert,
-        'security:passport-saml:attrMapId': req.body.attrMapId,
-        'security:passport-saml:attrMapUsername': req.body.attrMapUsername,
-        'security:passport-saml:attrMapMail': req.body.attrMapMail,
-        'security:passport-saml:attrMapFirstName': req.body.attrMapFirstName,
-        'security:passport-saml:attrMapLastName': req.body.attrMapLastName,
+        'security:passport-saml:entryPoint': toNonBlankStringOrUndefined(req.body.entryPoint),
+        'security:passport-saml:issuer': toNonBlankStringOrUndefined(req.body.issuer),
+        'security:passport-saml:cert': toNonBlankStringOrUndefined(req.body.cert),
+        'security:passport-saml:attrMapId': toNonBlankStringOrUndefined(req.body.attrMapId),
+        'security:passport-saml:attrMapUsername': toNonBlankStringOrUndefined(req.body.attrMapUsername),
+        'security:passport-saml:attrMapMail': toNonBlankStringOrUndefined(req.body.attrMapMail),
+        'security:passport-saml:attrMapFirstName': toNonBlankStringOrUndefined(req.body.attrMapFirstName),
+        'security:passport-saml:attrMapLastName': toNonBlankStringOrUndefined(req.body.attrMapLastName),
         'security:passport-saml:isSameUsernameTreatedAsIdenticalUser':
         'security:passport-saml:isSameUsernameTreatedAsIdenticalUser':
           req.body.isSameUsernameTreatedAsIdenticalUser,
           req.body.isSameUsernameTreatedAsIdenticalUser,
         'security:passport-saml:isSameEmailTreatedAsIdenticalUser':
         'security:passport-saml:isSameEmailTreatedAsIdenticalUser':
           req.body.isSameEmailTreatedAsIdenticalUser,
           req.body.isSameEmailTreatedAsIdenticalUser,
-        'security:passport-saml:ABLCRule': req.body.ABLCRule,
+        'security:passport-saml:ABLCRule': toNonBlankStringOrUndefined(req.body.ABLCRule),
       };
       };
 
 
       try {
       try {
-        await updateAndReloadStrategySettings('saml', requestParams);
+        await updateAndReloadStrategySettings('saml', requestParams, { removeIfUndefined: true });
 
 
         const securitySettingParams = {
         const securitySettingParams = {
           missingMandatoryConfigKeys:
           missingMandatoryConfigKeys: