diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/plugs/authentication_plug.ex | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/lib/pleroma/web/plugs/authentication_plug.ex b/lib/pleroma/web/plugs/authentication_plug.ex index f912a1542..af7d7f45a 100644 --- a/lib/pleroma/web/plugs/authentication_plug.ex +++ b/lib/pleroma/web/plugs/authentication_plug.ex @@ -47,6 +47,11 @@ defmodule Pleroma.Web.Plugs.AuthenticationPlug do      Pleroma.Password.Pbkdf2.verify_pass(password, password_hash)    end +  def checkpw(password, "$argon2" <> _ = password_hash) do +    # Handle argon2 passwords for Akkoma migration +    Argon2.verify_pass(password, password_hash) +  end +    def checkpw(_password, _password_hash) do      Logger.error("Password hash not recognized")      false @@ -56,6 +61,10 @@ defmodule Pleroma.Web.Plugs.AuthenticationPlug do      do_update_password(user, password)    end +  def maybe_update_password(%User{password_hash: "$argon2" <> _} = user, password) do +    do_update_password(user, password) +  end +    def maybe_update_password(user, _), do: {:ok, user}    defp do_update_password(user, password) do | 
