Authentication: update passport-ldapauth to 3.0.1; fix minor issues

This commit is contained in:
yu-i-i
2026-09-22 02:41:39 +02:00
parent c1ee595528
commit d018510a33
9 changed files with 34 additions and 38 deletions
@@ -1,5 +1,4 @@
import Settings from '@overleaf/settings'
import { callbackify } from '@overleaf/promise-utils'
import UserCreator from '../../../../../app/src/Features/User/UserCreator.mjs'
import { ParallelLoginError } from '../../../../../app/src/Features/Authentication/AuthenticationErrors.mjs'
import { User } from '../../../../../app/src/models/User.mjs'
@@ -2,7 +2,7 @@ import Settings from '@overleaf/settings'
import logger from '@overleaf/logger'
import { promisify } from 'util'
import passport from 'passport'
import ldapjs from 'ldapauth-fork/node_modules/ldapjs/lib/index.js'
import ldapjs from 'ldapjs'
import UserGetter from '../../../../../app/src/Features/User/UserGetter.mjs'
import { splitFullName } from '../../../utils.mjs'
@@ -59,13 +59,8 @@ const LDAPModuleManager = {
}
},
async getContacts(userId, contacts, callback) {
try {
const newContacts = await fetchLDAPContacts(userId, contacts)
callback(null, newContacts)
} catch (error) {
callback(error)
}
getContacts(userId, contacts) {
return fetchLDAPContacts(userId, contacts)
},
initPolicy() {
@@ -8,8 +8,10 @@ if (process.env.EXTERNAL_AUTH?.includes('ldap')) {
name: 'ldap-authentication',
hooks: {
passportSetup: LDAPModuleManager.passportSetup,
getContacts: LDAPModuleManager.getContacts,
getGroupPolicyForUser: LDAPModuleManager.getGroupPolicyForUser,
promises: {
getContacts: LDAPModuleManager.getContacts,
},
},
router: router,
}
@@ -5,7 +5,6 @@ import AuthenticationController from '../../../../../app/src/Features/Authentica
import UserController from '../../../../../app/src/Features/User/UserController.mjs'
import ThirdPartyIdentityManager from '../../../../../app/src/Features/User/ThirdPartyIdentityManager.mjs'
import OIDCAuthenticationManager from './OIDCAuthenticationManager.mjs'
import { acceptsJson } from '../../../../../app/src/infrastructure/RequestContentTypeDetection.mjs'
const OIDCAuthenticationController = {
passportLogin(req, res, next) {
@@ -142,17 +141,10 @@ const OIDCAuthenticationController = {
initiatorId: userId,
}
await ThirdPartyIdentityManager.promises.unlink(userId, providerId, auditLog)
return res.status(200).end()
return res.status(204).end()
} catch (error) {
logger.error(error.info, error.message)
return {
user: false,
info: {
type: 'error',
text: 'Can not unlink account',
status: 200,
}
}
logger.error('Unexpected error in uninkAccount')
return next({ stack: error.stack, info: {userId: req.user?._id} })
}
},
async passportLogout(req, res, next) {
@@ -1,7 +1,6 @@
import logger from '@overleaf/logger'
import passport from 'passport'
import Settings from '@overleaf/settings'
import { readFilesContentFromEnv, numFromEnv, boolFromEnv } from '../../../utils.mjs'
import { boolFromEnv } from '../../../utils.mjs'
import PermissionsManager from '../../../../../app/src/Features/Authorization/PermissionsManager.mjs'
import OIDCAuthenticationController from './OIDCAuthenticationController.mjs'
import { Strategy as OIDCStrategy } from 'passport-openidconnect'
@@ -1,5 +1,4 @@
import logger from '@overleaf/logger'
import passport from 'passport'
import Settings from '@overleaf/settings'
import { readFilesContentFromEnv, numFromEnv, boolFromEnv } from '../../../utils.mjs'
import PermissionsManager from '../../../../../app/src/Features/Authorization/PermissionsManager.mjs'