Merge remote-tracking branch 'upstream/develop' into feature/openldap-support
[akkoma] / lib / pleroma / web / auth / pleroma_authenticator.ex
index 333446befc681c7e8d9df2b6a95f66dd3eaaa151..94a19ad49d97eaf0dd21b543e561036d2fdb2cce 100644 (file)
@@ -9,7 +9,14 @@ defmodule Pleroma.Web.Auth.PleromaAuthenticator do
   @behaviour Pleroma.Web.Auth.Authenticator
 
   def get_user(%Plug.Conn{} = conn) do
-    %{"authorization" => %{"name" => name, "password" => password}} = conn.params
+    {name, password} =
+      case conn.params do
+        %{"authorization" => %{"name" => name, "password" => password}} ->
+          {name, password}
+
+        %{"grant_type" => "password", "username" => name, "password" => password} ->
+          {name, password}
+      end
 
     with {_, %User{} = user} <- {:user, User.get_by_nickname_or_email(name)},
          {_, true} <- {:checkpw, Pbkdf2.checkpw(password, user.password_hash)} do