diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-08-05 08:15:57 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-08-05 08:15:57 -0500 |
commit | f7146583e5f1c2d0e8a198db00dfafced79d0706 (patch) | |
tree | fbeac41f17baff10acc22c4a4e772d04b839d4de /lib | |
parent | b1b6a7dfa890a6ae16f49d2f91e2ebdbaecf1724 (diff) | |
download | pleroma-f7146583e5f1c2d0e8a198db00dfafced79d0706.tar.gz |
Remove LDAP mail attribute as a requirement for registering an account
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/auth/ldap_authenticator.ex | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/lib/pleroma/web/auth/ldap_authenticator.ex b/lib/pleroma/web/auth/ldap_authenticator.ex index f63a66c03..f320ec746 100644 --- a/lib/pleroma/web/auth/ldap_authenticator.ex +++ b/lib/pleroma/web/auth/ldap_authenticator.ex @@ -105,29 +105,21 @@ defmodule Pleroma.Web.Auth.LDAPAuthenticator do {:base, to_charlist(base)}, {:filter, :eldap.equalityMatch(to_charlist(uid), to_charlist(name))}, {:scope, :eldap.wholeSubtree()}, - {:attributes, ['mail', 'email']}, {:timeout, @search_timeout} ]) do - {:ok, {:eldap_search_result, [{:eldap_entry, _, attributes}], _}} -> - with {_, [mail]} <- List.keyfind(attributes, 'mail', 0) do - params = %{ - email: :erlang.list_to_binary(mail), - name: name, - nickname: name, - password: password, - password_confirmation: password - } - - changeset = User.register_changeset(%User{}, params) - - case User.register(changeset) do - {:ok, user} -> user - error -> error - end - else - _ -> - Logger.error("Could not find LDAP attribute mail: #{inspect(attributes)}") - {:error, :ldap_registration_missing_attributes} + {:ok, {:eldap_search_result, [{:eldap_entry, _, _}], _}} -> + params = %{ + name: name, + nickname: name, + password: password, + password_confirmation: password + } + + changeset = User.register_changeset(%User{}, params) + + case User.register(changeset) do + {:ok, user} -> user + error -> error end error -> |