Solución:
django-auth-ldap
necesita compilarse debido a sus dependencias. Especialmente en Windows, recomendaría probar una solución pura de Python. El que yo uso que funciona muy bien, es django-python3-ldap
, que puede encontrar aquí:
https://github.com/etianen/django-python3-ldap
Así es como configuro la configuración, para que podamos conectarnos usando estos valores con ldap3
directamente también:
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'django_python3_ldap.auth.LDAPBackend',
]
# LDAP Connection Settings
LDAP_AUTH_HOST = 'ldap.example.com'
LDAP_AUTH_PORT = 636
LDAP_AUTH_URL = 'ldaps://{host}:{port}'.format(
host=LDAP_AUTH_HOST,
port=LDAP_AUTH_PORT,
)
LDAP_AUTH_CONNECTION_USERNAME = 'ldapuser'
LDAP_AUTH_CONNECTION_PASSWORD = 'ldappassword'
# Initiate TLS on connection.
LDAP_AUTH_USE_TLS = True
# The LDAP search base for looking up users.
LDAP_AUTH_SEARCH_BASE = "ou=People,dc=example,dc=com"
# The LDAP class that represents a user.
LDAP_AUTH_OBJECT_CLASS = "shadowAccount"
# User model fields mapped to the LDAP
# attributes that represent them.
LDAP_AUTH_USER_FIELDS = {
"username": "uid",
}
# A tuple of fields used to uniquely identify a user.
LDAP_AUTH_USER_LOOKUP_FIELDS = ("username",)
El archivo README también incluye instrucciones para Active Directory, si es a eso a lo que se está conectando. ¡Buena suerte!
Para aquellos que, como yo, no pueden dejar django-auth-ldap por cualquier motivo: resolví descargar e instalar la rueda binaria de python-ldap desde aquí
https://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap
espero que esto ayude