I am trying to add LDAP authentication to my payload app by using the strategies from passport
I installed a blank payloadcms template and made the following configurations
payload version
collections/User.ts
import { CollectionConfig } from 'payload/types'
import ldapStrategy from './auth/ldapStrategy'
const Users: CollectionConfig = {
slug: 'users',
// auth: true,
auth: {
disableLocalStrategy: true,
strategies: [
{
name: 'user-ldap',
strategy: ldapStrategy,
}
],
},
admin: {
useAsTitle: 'email',
},
fields: [
// Email added by default
// Add more fields as needed
],
}
export default Users
install passport-ldapauth
collections/auth/ldapStrategy.ts
// var LdapStrategy = require('passport-ldapauth');
import LdapStrategy from 'passport-ldapauth';
var options = {
server:{
url: 'ldap://localhost:389',
bindDN: process.env.ADMINDN,
bindCredentials: process.env.ADMINPASSWORD,
searchBase: process.env.USERSEARCHBASE,
searchFilter: process.env.USERNAMEATTRIBUTE,
}
};
const ldapStrategy = new LdapStrategy(options);
export default ldapStrategy;
This will result in a bunch of webpack errors relating to the polyfill server modules


