PHPackages                             org\_heigl/authldap - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. org\_heigl/authldap

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

org\_heigl/authldap
===================

Enables wordpress-authentication via LDAP

3.1.3(1y ago)691739[37 issues](https://github.com/heiglandreas/authLdap/issues)[8 PRs](https://github.com/heiglandreas/authLdap/pulls)MITPHPPHP ^7.4|^8.0CI passing

Since Aug 16Pushed 1y ago12 watchersCompare

[ Source](https://github.com/heiglandreas/authLdap)[ Packagist](https://packagist.org/packages/org_heigl/authldap)[ Docs](http://github.com/heiglandreas/authLdap)[ RSS](/packages/org-heigl-authldap/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (10)Dependencies (3)Versions (76)Used By (0)

authLDAP
========

[](#authldap)

Use your existing LDAP as authentication-backend for your WordPress!

[![Build Status](https://github.com/heiglandreas/authLdap/actions/workflows/tests.yml/badge.svg)](https://github.com/heiglandreas/authLdap/actions/workflows/tests.yml)[![WordPress Stats](https://camo.githubusercontent.com/f8c8f4b421eecc9f8e07ee41482816d6809d98deed9399f51be5508e18f34f77/68747470733a2f2f696d672e736869656c64732e696f2f776f726470726573732f706c7567696e2f64742f617574686c6461702e737667)](https://wordpress.org/plugins/authldap/stats/)[![WordPress Version](https://camo.githubusercontent.com/5c6186aaa0239cb0fbd7cb0ec4e4f6c5708252a2916dbf67e0e2a5f04ddd91c3/68747470733a2f2f696d672e736869656c64732e696f2f776f726470726573732f706c7567696e2f762f617574686c6461702e737667)](https://wordpress.org/plugins/authldap/)[![WordPress tested](https://camo.githubusercontent.com/6e6cedb193e1777ac2444ccf0c883eb27219490d109e0e63bcc2f4a9422ccfd9/68747470733a2f2f696d672e736869656c64732e696f2f776f726470726573732f762f617574686c6461702e737667)](https://wordpress.org/plugins/authldap/)[![Code Climate](https://camo.githubusercontent.com/e2568a5cd838f2a404d956702bf5b1cbc72283ceab46790a2d70cb35fd32486e/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f686569676c616e64726561732f617574684c6461702f6261646765732f6770612e737667)](https://codeclimate.com/github/heiglandreas/authLdap)[![codecov](https://camo.githubusercontent.com/96a555a088073bf6c5f59b151e6f35c90e4535fd47cf1fe27fef732167e6b7ad/68747470733a2f2f636f6465636f762e696f2f67682f686569676c616e64726561732f617574684c6461702f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d41594168456557745251)](https://codecov.io/gh/heiglandreas/authLdap)

So what are the differences to other WordPress-LDAP-Authentication-Plugins?

- **Flexible**: You are totally free in which LDAP-backend to use. Due to the extensive configuration you can freely decide how to do the authentication of your users. It simply depends on your filters
- **Independent**: As soon as a user logs in, it is added/updated to the WordPress' user-database to allow WordPress to always use the correct data. You only have to administer your users once.
- **Failsafe**: Due to the users being created in WordPress' User-database they can also log in when the LDAP-backend currently is gone. (If password caching is configured)
- **Role-Aware**: You can map WordPress' roles to values of an existing LDAP-attribute.

How does the plugin work?
-------------------------

[](#how-does-the-plugin-work)

Well, as a matter of fact it is rather simple. The plugin verifies, that the user seeking authentication can bind to the LDAP using the provided password.

If that is so, the user is either created or updated in the wordpress-user-database. This update includes the provided password (so WordPress can authenticate users even without the LDAP), the users name according to the authLDAP-preferences and the status of the user depending on the groups-settings of the authLDAP-preferences

Writing this plugin would not have been as easy as it has been, without the wonderful plugin of Alistair Young from

Configuration
-------------

[](#configuration)

### Usage Settings

[](#usage-settings)

- **Enable Authentication via LDAP** Whether you want to enable authLdap for login or not
- **debug authLdap** When you have problems with authentication via LDAP you can enable a debugging mode here.
- **Save entered Password** Decide whether passwords will be cached in your WordPress-installation. **Attention:** Without the cache your users will not be able to log into your site when your LDAP is down!

### Server Settings

[](#server-settings)

- **LDAP Uri** This is the URI where your ldap-backend can be reached. More information are actually on the Configuration page
- **Filter** This is the real McCoy! The filter you define here specifies how a user will be found. Before applying the filter a %s will be replaced with the given username. This means, when a user logs in using ‘foobar’ as username the following happens:

    - **uid=%1$s** check for any LDAP-Entry that has an attribute ‘uid’ with value ‘foobar’
    - **(&amp;(objectclass=posixAccount)(|(uid=%1$s)(mail=%1$s)))** check for any LDAP-Entry that has an attribute ‘objectclass’ with value ‘posixAccout’ and either a UID- or a mail-attribute with value ‘foobar’

    This filter is rather powerful if used wisely.

### Creating Users

[](#creating-users)

- **Name-Attribute** Which Attribute from the LDAP contains the Full or the First name of the user trying to log in. This defaults to name
- **Second Name Attribute** If the above Name-Attribute only contains the First Name of the user you can here specify an Attribute that contains the second name. This field is empty by default
- **User-ID Attribute** This field will be used as login-name for WordPress. Please give the Attribute, that is used to identify the user. This should be the same as you used in the above Filter-Option. This field defaults to uid
- **Mail Attribute** Which Attribute holds the eMail-Address of the user? If more than one eMail-Address are stored in the LDAP, only the first given is used. This field defaults to mail
- **Web-Attribute** If your users have a personal page (URI) stored in the LDAP, it can be provided here. This field is empty by default

### User-Groups for Roles

[](#user-groups-for-roles)

- **Group-Attribute** This is the attribute that defines the Group-ID that can be matched against the Groups defined further down This field defaults to gidNumber.
- **Group-Filter** Here you can add the filter for selecting groups for the currently logged-in user The Filter should contain the string %s which will be replaced by the login-name of the currently logged in

FAQ
---

[](#faq)

 Can I change a users password with this plugin? Short Answer: **No**!
Long Answer: As the users credentials are not only used for a WordPress-site when you authenticate against an LDAP but for many other services also chances are great that there is a centralized place where password-changes shall be made. We'll later allow inclusion of a link to such a place but currently it's not available. And as password-hashing and where to store it requires deeper insight into the LDAP-Server then most users have and admins are willing to give, password changes are out of scope of this plugin. If you know exactly what you do, you might want to have a look at [ issue 54](https://github.com/heiglandreas/authLdap/issues/54#issuecomment-125851029) where a way of adding it is described!  Can I add a user to the LDAP when she creates a user-account on WordPress? Short Answer: **No**!
Long Answer: Even though that is technically possible it's not in the scope of this plugin. As creating a user in an LDAP often involves an administrative process that has already been implemented in your departments administration it doesn't make sense to rebuild that - in most cases highly individual - process in this plugin. If you know exactly what you do, have a look at [issue 65](https://github.com/heiglandreas/authLdap/issues/65) where [wtfiwtz](https://github.com/wtfiwtz) shows how to implement that feature.

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community27

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 82.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~55 days

Recently: every ~18 days

Total

65

Last Release

396d ago

Major Versions

1.5.1 → 2.0.02017-10-28

2.6.4 → 3.0.02025-01-29

PHP version history (4 changes)1.4.7PHP &gt;=5.4

2.4.0PHP &gt;=7.2

2.5.4PHP &gt;=7.4

2.6.0PHP ^7.4|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/5ae5183aaad2bc7453230704bd6991dc6ccbcd6e775c6a29efdc94350a69f247?d=identicon)[heiglandreas](/maintainers/heiglandreas)

---

Top Contributors

[![heiglandreas](https://avatars.githubusercontent.com/u/91998?v=4)](https://github.com/heiglandreas "heiglandreas (356 commits)")[![EmTeedee](https://avatars.githubusercontent.com/u/195600?v=4)](https://github.com/EmTeedee "EmTeedee (31 commits)")[![vyskoczilova](https://avatars.githubusercontent.com/u/3611726?v=4)](https://github.com/vyskoczilova "vyskoczilova (10 commits)")[![be-heiglandreas](https://avatars.githubusercontent.com/u/60882198?v=4)](https://github.com/be-heiglandreas "be-heiglandreas (9 commits)")[![wunc](https://avatars.githubusercontent.com/u/11369963?v=4)](https://github.com/wunc "wunc (4 commits)")[![brammeleman](https://avatars.githubusercontent.com/u/43443291?v=4)](https://github.com/brammeleman "brammeleman (3 commits)")[![PLUS-RobertEhrenleitner](https://avatars.githubusercontent.com/u/97727098?v=4)](https://github.com/PLUS-RobertEhrenleitner "PLUS-RobertEhrenleitner (3 commits)")[![ladrua](https://avatars.githubusercontent.com/u/1674550?v=4)](https://github.com/ladrua "ladrua (3 commits)")[![Yogendra0Sharma](https://avatars.githubusercontent.com/u/1375860?v=4)](https://github.com/Yogendra0Sharma "Yogendra0Sharma (2 commits)")[![Markel](https://avatars.githubusercontent.com/u/45839898?v=4)](https://github.com/Markel "Markel (2 commits)")[![adanielvv](https://avatars.githubusercontent.com/u/9696905?v=4)](https://github.com/adanielvv "adanielvv (1 commits)")[![markhowells](https://avatars.githubusercontent.com/u/3914721?v=4)](https://github.com/markhowells "markhowells (1 commits)")[![mherrb](https://avatars.githubusercontent.com/u/515301?v=4)](https://github.com/mherrb "mherrb (1 commits)")[![gitter-badger](https://avatars.githubusercontent.com/u/8518239?v=4)](https://github.com/gitter-badger "gitter-badger (1 commits)")[![rossigee](https://avatars.githubusercontent.com/u/5194485?v=4)](https://github.com/rossigee "rossigee (1 commits)")[![deflomu](https://avatars.githubusercontent.com/u/100795?v=4)](https://github.com/deflomu "deflomu (1 commits)")[![d19dotca](https://avatars.githubusercontent.com/u/8153796?v=4)](https://github.com/d19dotca "d19dotca (1 commits)")[![gramakri](https://avatars.githubusercontent.com/u/82041?v=4)](https://github.com/gramakri "gramakri (1 commits)")

---

Tags

wordpressauthldapauthenticate

### Embed Badge

![Health badge](/badges/org-heigl-authldap/health.svg)

```
[![Health](https://phpackages.com/badges/org-heigl-authldap/health.svg)](https://phpackages.com/packages/org-heigl-authldap)
```

###  Alternatives

[jotaelesalinas/laravel-adminless-ldap-auth

Authenticate users in Laravel against an adminless LDAP server

2105.1k](/packages/jotaelesalinas-laravel-adminless-ldap-auth)[xety/cake3-cookieauth

A simple Cake3 plugin to authenticate users with Cookies.

1954.7k2](/packages/xety-cake3-cookieauth)[maicol07/flarum-ext-sso

SSO for Flarum

468.3k](/packages/maicol07-flarum-ext-sso)[foglcz/ldap-authenticator

LDAP Authenticator plugin for Nette Framework

137.2k](/packages/foglcz-ldap-authenticator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
