forked from AkkomaGang/akkoma
Made auth customization be runtime-configurable.
This commit is contained in:
parent
e98d34e5fb
commit
b6f915313f
3 changed files with 14 additions and 8 deletions
|
@ -5,14 +5,16 @@
|
||||||
defmodule Pleroma.Web.Auth.DatabaseAuthenticator do
|
defmodule Pleroma.Web.Auth.DatabaseAuthenticator do
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
|
||||||
@implementation Pleroma.Config.get(
|
def implementation do
|
||||||
|
Pleroma.Config.get(
|
||||||
Pleroma.Web.Auth.DatabaseAuthenticator,
|
Pleroma.Web.Auth.DatabaseAuthenticator,
|
||||||
Pleroma.Web.Auth.PleromaDatabaseAuthenticator
|
Pleroma.Web.Auth.PleromaDatabaseAuthenticator
|
||||||
)
|
)
|
||||||
|
end
|
||||||
|
|
||||||
@callback get_user(Plug.Conn.t()) :: {:ok, User.t()} | {:error, any()}
|
@callback get_user(Plug.Conn.t()) :: {:ok, User.t()} | {:error, any()}
|
||||||
defdelegate get_user(plug), to: @implementation
|
def get_user(plug), do: implementation().get_user(plug)
|
||||||
|
|
||||||
@callback handle_error(Plug.Conn.t(), any()) :: any()
|
@callback handle_error(Plug.Conn.t(), any()) :: any()
|
||||||
defdelegate handle_error(plug, error), to: @implementation
|
def handle_error(plug, error), do: implementation().handle_error(plug, error)
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,7 +25,7 @@ def authorize(conn, params) do
|
||||||
available_scopes = (app && app.scopes) || []
|
available_scopes = (app && app.scopes) || []
|
||||||
scopes = oauth_scopes(params, nil) || available_scopes
|
scopes = oauth_scopes(params, nil) || available_scopes
|
||||||
|
|
||||||
template = Application.get_env(:pleroma, :auth_template, "show.html")
|
template = Pleroma.Config.get(:auth_template, "show.html")
|
||||||
|
|
||||||
render(conn, template, %{
|
render(conn, template, %{
|
||||||
response_type: params["response_type"],
|
response_type: params["response_type"],
|
||||||
|
|
|
@ -27,7 +27,11 @@ def controller do
|
||||||
import Pleroma.Web.Gettext
|
import Pleroma.Web.Gettext
|
||||||
import Pleroma.Web.Router.Helpers
|
import Pleroma.Web.Router.Helpers
|
||||||
|
|
||||||
plug(:put_layout, Application.get_env(:pleroma, :app_layout, "app.html"))
|
plug(:set_put_layout)
|
||||||
|
|
||||||
|
defp set_put_layout(conn, _) do
|
||||||
|
put_layout(conn, Pleroma.Config.get(:app_layout, "app.html"))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue