Просмотр исходного кода

Merge pull request #8322 from weseek/fix/verify-saml-ablc-rule

fix: SAML callback action throws the field is undefined error when the ACL Rule string is only white space
Yuki Takei 2 лет назад
Родитель
Сommit
7aebbfc303

+ 5 - 0
apps/app/src/server/service/passport.ts

@@ -849,6 +849,11 @@ class PassportService implements S2sMessageHandlable {
     }
 
     const { field, term } = luceneRule;
+
+    if (field == null) {
+      return true;
+    }
+
     const unescapedField = this.literalUnescape(field);
     if (unescapedField === '<implicit>') {
       return attributes[term] != null;

+ 1 - 0
apps/app/test/integration/service/passport.test.js

@@ -24,6 +24,7 @@ describe('PassportService test', () => {
     let i = 0;
     describe.each`
       conditionId | departments   | positions     | ruleStr                                                         | expected
+      ${i++}      | ${undefined}  | ${undefined}  | ${' '}                                                          | ${true}
       ${i++}      | ${undefined}  | ${undefined}  | ${'Department: A'}                                              | ${false}
       ${i++}      | ${[]}         | ${['Leader']} | ${'Position'}                                                   | ${true}
       ${i++}      | ${[]}         | ${['Leader']} | ${'Position: Leader'}                                           | ${true}