securityPassportLdap.js 1.1 KB

1234567891011121314151617181920212223
  1. 'use strict';
  2. var form = require('express-form')
  3. , field = form.field
  4. ;
  5. module.exports = form(
  6. field('settingForm[security:passport-ldap:isEnabled]').trim().toBooleanStrict().required(),
  7. field('settingForm[security:passport-ldap:serverUrl]').trim()
  8. // https://regex101.com/r/E0UL6D/1
  9. .is(/^ldaps?:\/\/([^\/\s]+)\/([^\/\s]+)$/, 'Server URL is invalid. <small><a href="https://regex101.com/r/E0UL6D/1">&gt;&gt; Regex</a></small>'),
  10. field('settingForm[security:passport-ldap:isUserBind]').trim().toBooleanStrict(),
  11. field('settingForm[security:passport-ldap:bindDN]').trim()
  12. // https://regex101.com/r/jK8lpO/1
  13. .is(/^(,?[^,=\s]+=[^,=\s]+){1,}$/, 'Bind DN is invalid. <small><a href="https://regex101.com/r/jK8lpO/1">&gt;&gt; Regex</a></small>'),
  14. field('settingForm[security:passport-ldap:bindDNPassword]'),
  15. field('settingForm[security:passport-ldap:searchFilter]'),
  16. field('settingForm[security:passport-ldap:attrMapUsername]'),
  17. field('settingForm[security:passport-ldap:groupSearchBase]'),
  18. field('settingForm[security:passport-ldap:groupSearchFilter]'),
  19. field('settingForm[security:passport-ldap:groupDnProperty]')
  20. );