aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/plugs/ensure_user_key_plug.ex10
-rw-r--r--lib/pleroma/web/router.ex2
2 files changed, 9 insertions, 3 deletions
diff --git a/lib/pleroma/plugs/ensure_user_key_plug.ex b/lib/pleroma/plugs/ensure_user_key_plug.ex
index 9795cdbde..470fe0d95 100644
--- a/lib/pleroma/plugs/ensure_user_key_plug.ex
+++ b/lib/pleroma/plugs/ensure_user_key_plug.ex
@@ -3,6 +3,7 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Plugs.EnsureUserKeyPlug do
+ alias Pleroma.User
import Plug.Conn
def init(opts) do
@@ -12,7 +13,12 @@ defmodule Pleroma.Plugs.EnsureUserKeyPlug do
def call(%{assigns: %{user: _}} = conn, _), do: conn
def call(conn, _) do
- conn
- |> assign(:user, nil)
+ with user_id <- get_session(conn, :user_id),
+ true <- is_binary(user_id),
+ %User{} = user <- User.get_by_id(user_id) do
+ assign(conn, :user, user)
+ else
+ _ -> assign(conn, :user, nil)
+ end
end
end
diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex
index 386308362..05841a8c4 100644
--- a/lib/pleroma/web/router.ex
+++ b/lib/pleroma/web/router.ex
@@ -276,7 +276,7 @@ defmodule Pleroma.Web.Router do
scope "/oauth", Pleroma.Web.OAuth do
scope [] do
- pipe_through(:oauth)
+ pipe_through([:oauth, :after_auth])
get("/authorize", OAuthController, :authorize)
end