projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fix/embeded-relationship-in-follows' into 'develop'
[akkoma]
/
lib
/
pleroma
/
plugs
/
oauth_plug.ex
diff --git
a/lib/pleroma/plugs/oauth_plug.ex
b/lib/pleroma/plugs/oauth_plug.ex
index 22f0406f4637cfc486a1a86155903667b8b7729c..9d43732eb43592cbafe41c6f2a08c947836ee44c 100644
(file)
--- a/
lib/pleroma/plugs/oauth_plug.ex
+++ b/
lib/pleroma/plugs/oauth_plug.ex
@@
-6,8
+6,8
@@
defmodule Pleroma.Plugs.OAuthPlug do
import Plug.Conn
import Ecto.Query
import Plug.Conn
import Ecto.Query
- alias Pleroma.User
alias Pleroma.Repo
alias Pleroma.Repo
+ alias Pleroma.User
alias Pleroma.Web.OAuth.Token
@realm_reg Regex.compile!("Bearer\:?\s+(.*)$", "i")
alias Pleroma.Web.OAuth.Token
@realm_reg Regex.compile!("Bearer\:?\s+(.*)$", "i")
@@
-16,6
+16,16
@@
defmodule Pleroma.Plugs.OAuthPlug do
def call(%{assigns: %{user: %User{}}} = conn, _), do: conn
def call(%{assigns: %{user: %User{}}} = conn, _), do: conn
+ def call(%{params: %{"access_token" => access_token}} = conn, _) do
+ with {:ok, user, token_record} <- fetch_user_and_token(access_token) do
+ conn
+ |> assign(:token, token_record)
+ |> assign(:user, user)
+ else
+ _ -> conn
+ end
+ end
+
def call(conn, _) do
with {:ok, token_str} <- fetch_token_str(conn),
{:ok, user, token_record} <- fetch_user_and_token(token_str) do
def call(conn, _) do
with {:ok, token_str} <- fetch_token_str(conn),
{:ok, user, token_record} <- fetch_user_and_token(token_str) do
@@
-38,6
+48,7
@@
defmodule Pleroma.Plugs.OAuthPlug do
preload: [user: user]
)
preload: [user: user]
)
+ # credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
with %Token{user: %{info: %{deactivated: false} = _} = user} = token_record <- Repo.one(query) do
{:ok, user, token_record}
end
with %Token{user: %{info: %{deactivated: false} = _} = user} = token_record <- Repo.one(query) do
{:ok, user, token_record}
end