You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
function unescapeLdapResult(ldapResult) {
// Regular expression to match the escaped sequences
const regex = /\\([0-9a-fA-F]{2})\\([0-9a-fA-F]{2})/g;
// Replace each escaped sequence with its Unicode character
return ldapResult.replace(regex, (match, p1, p2) => {
// Convert the hex codes to a Buffer
const bytes = Buffer.from([parseInt(p1, 16), parseInt(p2, 16)]);
// Convert the Buffer to a UTF-8 String
return bytes.toString('utf8');
});
}
and use it to unescape the result :
ldapAdminClient.unbind()
if (!user || !user.dn) {
ldapOpts.log &&
ldapOpts.log.trace(
`admin did not find user! (${usernameAttribute}=${username})`
)
throw new LdapAuthenticationError(
'user not found or usernameAttribute is wrong'
)
}
var userDn = user.dn
userDn = unescapeLdapResult(userDn)
let ldapUserClient
try {
ldapUserClient = await _ldapBind(userDn, userPassword, starttls, ldapOpts)
} catch (error) {
throw error
}
ldapUserClient.unbind()
if (groupsSearchBase && groupClass && groupMemberAttribute) {
try {
ldapAdminClient = await _ldapBind(
The text was updated successfully, but these errors were encountered:
Add function :
and use it to unescape the result :
The text was updated successfully, but these errors were encountered: