projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Expand and authorize streams in Streamer directly
[akkoma]
/
lib
/
pleroma
/
plugs
/
ensure_authenticated_plug.ex
diff --git
a/lib/pleroma/plugs/ensure_authenticated_plug.ex
b/lib/pleroma/plugs/ensure_authenticated_plug.ex
index 054d2297f1906a31ee4810823299474c8caf5e17..3fe5508060730e6d40f96860ad774e42896af65d 100644
(file)
--- a/
lib/pleroma/plugs/ensure_authenticated_plug.ex
+++ b/
lib/pleroma/plugs/ensure_authenticated_plug.ex
@@
-5,32
+5,35
@@
defmodule Pleroma.Plugs.EnsureAuthenticatedPlug do
import Plug.Conn
import Pleroma.Web.TranslationHelpers
defmodule Pleroma.Plugs.EnsureAuthenticatedPlug do
import Plug.Conn
import Pleroma.Web.TranslationHelpers
+
alias Pleroma.User
alias Pleroma.User
+ use Pleroma.Web, :plug
+
def init(options) do
options
end
def init(options) do
options
end
- def call(%{assigns: %{user: %User{}}} = conn, _) do
+ @impl true
+ def perform(
+ %{
+ assigns: %{
+ auth_credentials: %{password: _},
+ user: %User{multi_factor_authentication_settings: %{enabled: true}}
+ }
+ } = conn,
+ _
+ ) do
conn
conn
+ |> render_error(:forbidden, "Two-factor authentication enabled, you must use a access token.")
+ |> halt()
end
end
- def call(conn, options) do
- perform =
- cond do
- options[:if_func] -> options[:if_func].()
- options[:unless_func] -> !options[:unless_func].()
- true -> true
- end
-
- if perform do
- fail(conn)
- else
- conn
- end
+ def perform(%{assigns: %{user: %User{}}} = conn, _) do
+ conn
end
end
- def
fail(conn
) do
+ def
perform(conn, _
) do
conn
|> render_error(:forbidden, "Invalid credentials.")
|> halt()
conn
|> render_error(:forbidden, "Invalid credentials.")
|> halt()