Separate ldap boot/parent wrapper logic, move ldap services into docker compose profile, update ldap form logic to use zod

This commit is contained in:
Tuan Dang
2024-03-10 12:28:50 -07:00
parent 440a58a49b
commit 7594929042
8 changed files with 71 additions and 70 deletions
+18 -2
View File
@@ -27,11 +27,27 @@ export const registerLdapRouter = async (server: FastifyZodProvider) => {
await server.register(passport.initialize());
await server.register(passport.secureSession());
const getLdapPassportOpts = (req: FastifyRequest, done: any) => {
const { organizationSlug } = req.body as {
organizationSlug: string;
};
process.nextTick(async () => {
try {
const { opts, ldapConfig } = await server.services.ldap.bootLdap(organizationSlug);
req.ldapConfig = ldapConfig;
done(null, opts);
} catch (err) {
done(err);
}
});
};
passport.use(
new LdapStrategy(
server.services.ldap.getLdapPassportOpts as any,
getLdapPassportOpts as any,
// eslint-disable-next-line
async (req: IncomingMessage, user, cb) => {
async (req: IncomingMessage, user, cb) => {
try {
const { isUserCompleted, providerAuthToken } = await server.services.ldap.ldapLogin({
externalId: user.uidNumber,