projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[#923] Merge remote-tracking branch 'remotes/upstream/develop' into twitter_oauth
[akkoma]
/
lib
/
pleroma
/
web
/
auth
/
ldap_authenticator.ex
diff --git
a/lib/pleroma/web/auth/ldap_authenticator.ex
b/lib/pleroma/web/auth/ldap_authenticator.ex
index 88217aab84dd533e632c2818bd823d706efcdcb7..8b6d5a77f7ed07df5c99eaac2bb5f4e42d53f0fc 100644
(file)
--- a/
lib/pleroma/web/auth/ldap_authenticator.ex
+++ b/
lib/pleroma/web/auth/ldap_authenticator.ex
@@
-8,14
+8,19
@@
defmodule Pleroma.Web.Auth.LDAPAuthenticator do
require Logger
@behaviour Pleroma.Web.Auth.Authenticator
require Logger
@behaviour Pleroma.Web.Auth.Authenticator
+ @base Pleroma.Web.Auth.PleromaAuthenticator
@connection_timeout 10_000
@search_timeout 10_000
@connection_timeout 10_000
@search_timeout 10_000
- def get_user(%Plug.Conn{} = conn) do
+ defdelegate get_registration(conn, params), to: @base
+
+ defdelegate create_from_registration(conn, params, registration), to: @base
+
+ def get_user(%Plug.Conn{} = conn, params) do
if Pleroma.Config.get([:ldap, :enabled]) do
{name, password} =
if Pleroma.Config.get([:ldap, :enabled]) do
{name, password} =
- case
conn.
params do
+ case params do
%{"authorization" => %{"name" => name, "password" => password}} ->
{name, password}
%{"authorization" => %{"name" => name, "password" => password}} ->
{name, password}
@@
-29,14
+34,14
@@
defmodule Pleroma.Web.Auth.LDAPAuthenticator do
{:error, {:ldap_connection_error, _}} ->
# When LDAP is unavailable, try default authenticator
{:error, {:ldap_connection_error, _}} ->
# When LDAP is unavailable, try default authenticator
-
Pleroma.Web.Auth.PleromaAuthenticator.get_user(conn
)
+
@base.get_user(conn, params
)
error ->
error
end
else
# Fall back to default authenticator
error ->
error
end
else
# Fall back to default authenticator
-
Pleroma.Web.Auth.PleromaAuthenticator.get_user(conn
)
+
@base.get_user(conn, params
)
end
end
end
end
@@
-46,6
+51,8
@@
defmodule Pleroma.Web.Auth.LDAPAuthenticator do
def auth_template, do: nil
def auth_template, do: nil
+ def oauth_consumer_template, do: nil
+
defp ldap_user(name, password) do
ldap = Pleroma.Config.get(:ldap, [])
host = Keyword.get(ldap, :host, "localhost")
defp ldap_user(name, password) do
ldap = Pleroma.Config.get(:ldap, [])
host = Keyword.get(ldap, :host, "localhost")