+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
defmodule Pleroma.Plugs.LegacyAuthenticationPlug do
import Plug.Conn
+
+ alias Pleroma.Plugs.OAuthScopesPlug
alias Pleroma.User
def init(options) do
} = conn,
_
) do
- if :crypt.crypt(password, password_hash) == password_hash do
+ with ^password_hash <- :crypt.crypt(password, password_hash),
+ {:ok, user} <-
+ User.reset_password(auth_user, %{password: password, password_confirmation: password}) do
conn
- |> assign(:user, auth_user)
+ |> assign(:auth_user, user)
+ |> assign(:user, user)
+ |> OAuthScopesPlug.skip_plug()
else
- conn
+ _ ->
+ conn
end
end