import ldap3
import json
import ssl
ldap = dict
def connect(ldap) -> ldap3.Connection:
if ldap.get("ssl_verify", None) == False:
tls_config = ldap3.Tls(validate=ssl.CERT_REQUIRED)
else:
tls_config = ldap3.Tls(validate=ssl.CERT_NONE)
ldap_server = ldap3.Server(ldap['server'], get_info=ldap3.ALL, use_ssl=ldap['use_ssl'], tls=tls_config)
return ldap3.Connection(ldap_server, ldap['bind_user'], ldap['bind_password'], auto_bind=True, client_strategy=ldap3.RESTARTABLE)
def main(ldap: ldap, search_base: str, search_filter: str = "(objectclass=user)", attributes:list=['distinguishedName']):
ldap_conn = connect(ldap)
ldap_conn.search(search_base, search_filter, attributes=attributes)
return [json.loads(entry.entry_to_json()) for entry in ldap_conn.entries]Submitted by simon594 786 days ago