From b6f915313f59223002a0eff88c1eefb00ca5c8f3 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 28 Feb 2019 13:00:54 +0300 Subject: [PATCH] Made auth customization be runtime-configurable. --- lib/pleroma/web/auth/database_authenticator.ex | 14 ++++++++------ lib/pleroma/web/oauth/oauth_controller.ex | 2 +- lib/pleroma/web/web.ex | 6 +++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/pleroma/web/auth/database_authenticator.ex b/lib/pleroma/web/auth/database_authenticator.ex index 02a16b634..e78068b03 100644 --- a/lib/pleroma/web/auth/database_authenticator.ex +++ b/lib/pleroma/web/auth/database_authenticator.ex @@ -5,14 +5,16 @@ defmodule Pleroma.Web.Auth.DatabaseAuthenticator do alias Pleroma.User - @implementation Pleroma.Config.get( - Pleroma.Web.Auth.DatabaseAuthenticator, - Pleroma.Web.Auth.PleromaDatabaseAuthenticator - ) + def implementation do + Pleroma.Config.get( + Pleroma.Web.Auth.DatabaseAuthenticator, + Pleroma.Web.Auth.PleromaDatabaseAuthenticator + ) + end @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() - defdelegate handle_error(plug, error), to: @implementation + def handle_error(plug, error), do: implementation().handle_error(plug, error) end diff --git a/lib/pleroma/web/oauth/oauth_controller.ex b/lib/pleroma/web/oauth/oauth_controller.ex index 02c0babd2..5c2b0507c 100644 --- a/lib/pleroma/web/oauth/oauth_controller.ex +++ b/lib/pleroma/web/oauth/oauth_controller.ex @@ -25,7 +25,7 @@ def authorize(conn, params) do available_scopes = (app && app.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, %{ response_type: params["response_type"], diff --git a/lib/pleroma/web/web.ex b/lib/pleroma/web/web.ex index 4bf07a6ef..66813e4dd 100644 --- a/lib/pleroma/web/web.ex +++ b/lib/pleroma/web/web.ex @@ -27,7 +27,11 @@ def controller do import Pleroma.Web.Gettext 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