I am using the adldap plugin to connect to a Windows Server AD but my issue is with php ldap_bind as far as I can tell.
When a user types in an incorrect password, the error returned from ldap_error (which is used by adldap) is 'Invalid Credentials'. So far so good.
The problem arises when a user's password expires or in AD the user is set to change password on next logon (new user, password reset, etc). In this case whatever password the user enters to authenticate, ldap_error returns 'Invalid Credentials'. This means that I cannot tell if the user actually knows the expired password or not.
Has anyone got any idea how I can get around this issue?