-
- defp get_user(name, password) do
- if Pleroma.Config.get([:ldap, :enabled]) do
- case Pleroma.LDAP.get_user(name, password) do
- %User{} = user ->
- user
-
- {:error, {:ldap_connection_error, _}} ->
- # When LDAP is unavailable, try default login
- with %User{} = user <- User.get_by_nickname_or_email(name),
- true <- Pbkdf2.checkpw(password, user.password_hash) do
- user
- end
-
- error ->
- error
- end
- else
- with %User{} = user <- User.get_by_nickname_or_email(name),
- true <- Pbkdf2.checkpw(password, user.password_hash) do
- user
- end
- end
- end