fix: choose the first mail if multiple are returned from LDAP

This commit is contained in:
Jörg Behrmann 2025-04-09 10:49:25 +02:00
parent a363c0619a
commit 2e7a01f30a

View File

@ -230,11 +230,13 @@ async def ldap_auth(request: Request, response: Response, form_data: LdapForm):
entry = connection_app.entries[0] entry = connection_app.entries[0]
username = str(entry[f"{LDAP_ATTRIBUTE_FOR_USERNAME}"]).lower() username = str(entry[f"{LDAP_ATTRIBUTE_FOR_USERNAME}"]).lower()
email = str(entry[f"{LDAP_ATTRIBUTE_FOR_MAIL}"]) email = entry[f"{LDAP_ATTRIBUTE_FOR_MAIL}"]
if not email or email == "" or email == "[]": if not email:
raise HTTPException(400, "User does not have a valid email address.") raise HTTPException(400, "User does not have a valid email address.")
else: elif isinstance(email, str):
email = email.lower() email = email.lower()
elif isinstance(email, list):
email = email[0].lower()
cn = str(entry["cn"]) cn = str(entry["cn"])
user_dn = entry.entry_dn user_dn = entry.entry_dn