[Pleroma.Plugs.UserIsAdminPlug]: Check if admin is true instead of false, fix error...
[akkoma] / lib / pleroma / plugs / authentication_plug.ex
1 defmodule Pleroma.Plugs.AuthenticationPlug do
2 alias Comeonin.Pbkdf2
3 import Plug.Conn
4 alias Pleroma.User
5
6 def init(options) do
7 options
8 end
9
10 def call(%{assigns: %{user: %User{}}} = conn, _), do: conn
11
12 def call(
13 %{
14 assigns: %{
15 auth_user: %{password_hash: password_hash} = auth_user,
16 auth_credentials: %{password: password}
17 }
18 } = conn,
19 _
20 ) do
21 if Pbkdf2.checkpw(password, password_hash) do
22 conn
23 |> assign(:user, auth_user)
24 else
25 conn
26 end
27 end
28
29 def call(
30 %{
31 assigns: %{
32 auth_credentials: %{password: password}
33 }
34 } = conn,
35 _
36 ) do
37 Pbkdf2.dummy_checkpw()
38 conn
39 end
40
41 def call(conn, _), do: conn
42 end