diff --git a/ldap_auth_provider.py b/ldap_auth_provider.py index 9398350..dcefe15 100644 --- a/ldap_auth_provider.py +++ b/ldap_auth_provider.py @@ -133,6 +133,8 @@ async def check_auth( except ActiveDirectoryUPNException: return None + localpart = localpart.lower() + try: server = self._get_server() logger.debug("Attempting LDAP connection with %s", self.ldap_uris) diff --git a/tests/test_simple.py b/tests/test_simple.py index 0ffaf7f..6e570b0 100644 --- a/tests/test_simple.py +++ b/tests/test_simple.py @@ -95,6 +95,15 @@ def test_no_pwd(self): ) self.assertFalse(result) + @defer.inlineCallbacks + def test_uppercase_username(self): + result = yield defer.ensureDeferred( + self.auth_provider.check_auth( + "BOB", "m.login.password", {"password": "secret"} + ) + ) + self.assertEqual(result, "@bob:test") + class LdapSearchTestCase(unittest.TestCase): @defer.inlineCallbacks