- Added
LDAP_AUTH_TLS_CIPHERS
,LDAP_AUTH_TLS_ARGS
,LDAP_AUTH_CONNECT_USE_SSL
andLDAP_AUTH_CONNECT_ARGS
settings (@Freddo3000).
- Added
LDAP_AUTH_POOL_ACTIVE
setting (@borislaviv).
- Support for pyasn1 0.5.x (@borislaviv).
- BUGFIX: Fixing
has_user
detection in Active Directory (@etianen, @zq3936, @jcanning).
- BUGFIX: Fixing redundant rebind when LDAP_AUTH_CONNECTION_USERNAME matches the existing username (@gagantrivedi).
- BUGFIX: TLS connection is not started even if LDAP_AUTH_USE_TLS = True (@githubuserx).
- Added
ldap_clean_users
command (@jordiromera).
- Bugfix: Allows overriding the SSL/TLS version (@FlipperPA).
- Allows overriding the SSL/TLS version (@FlipperPA).
- Added support for multiple LDAP servers to enable a high-availability server pool (@hho6643).
- Django 4.0 compatibility (@sn1c).
- Allow syncing individual users with
ldap_sync_users
management command (@CristopherH95).
- Added support for additional (ignored) keyword arguments to
authenticate(...)
. This allows use with other authentication backends that require different keyword arguments (@stinovlas).
- Added
connection
anddn
parameters to theLDAP_AUTH_SYNC_USER_RELATIONS
callback (@nigelm). See: https://github.com/etianen/django-python3-ldap#sync-user-relations
- Fix error when using ldap auth backend with other authentication backends (@leavest).
- Django 3.0 compatibility.
- Improved cleanup of LDAP connections that fail initial bind.
- Updated ldap3 and pyasn1 dependencies.
- Dropped Python 2.7 support.
- Python 3.7 support.
- Added LDAP_AUTH_CONNECT_TIMEOUT and LDAP_AUTH_RECEIVE_TIMEOUT settings (@alizain).
- Support added for User models with a
USERNAME_FIELD
other thanusername
(@audiolion). - Fixed bug with pyasn1 version (@etianen).
- If settings.LDAP_AUTH_CONNECTION_USERNAME or settings.LDAP_AUTH_CONNECTION_PASSWORD is set, then it will be used to query the LDAP database for user details during authentication.
- Added django_python3_ldap.utils.format_username_active_directory_principal option for formatting user-principal-name (e.g. "[email protected]") Active Directory usernames.
- Django 1.11 compatibility (@aritas1).
- Fixed issue with LDAP servers returning attributes that are not a list (@etianen).
- Update for compatibility with ldap3 2.x release (@etianen).
- Added support for LDAP referrals (@etianen).
- Fixed issue with missing LDAP attributes (@smills2929).
- Tweaks and bugfixes (@smills2929).
- Django 1.10 compatibility (@etianen, @frennkie).
- Added operational LDAP attributes to
iter_users
(@frennkie). - Dropped Django 1.7 compatibility (@etianen).
- Dropped Python 3.2 and 3.3 compatibility (@etianen).
- Fixing anonymous bind in some LDAP servers (@etianen).
- Fixing security vulnerability allowing users to authenticate with a valid username but with an empty password if anonymous authentication is allowed on the LDAP server (Petros Moisiadis).
- Fixing sync_users command for Microsoft Active Directory (@jjagielka).
- Ability to configure extra filters for user lookup using LDAP_AUTH_SEARCH_FILTERS (@etianen, @Ernest0x).
- Support for Active Directory LDAP servers (@etianen, @brandonusher).
- Python 2.7 compatibility (@NotSqrt).
- Ability to configure relations on loaded user models using LDAP_AUTH_SYNC_USER_RELATIONS (@mnach).
- Switched to specifying paths to functions using dotted string paths in settings (@mnach).
- Added settings option for a username and password to be specified incase anonymous user queries are not allowed (@brandonusher).
- Fixing security vulnerability where username and password could be transmitted in plain text before starting TLS (reported by Weitzhofer Bernhard).
- Fixing broken ldap3 dependency (@levisaya).
- Honoring LDAP_AUTH_CLEAN_USER_DATA setting (@etianen, @akaariai).
- Fixing broken python3-ldap dependency (@ricard33).
- Added setting for initiating TLS on connection (@saraheiting).
- Adding ldap_promote management command.
- First production release.