summaryrefslogtreecommitdiff
path: root/lib/pleroma/bbs/authenticator.ex
blob: 815de70020e6cf519fe9c08b06c8557a3e74d68f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only

defmodule Pleroma.BBS.Authenticator do
  use Sshd.PasswordAuthenticator
  alias Pleroma.Plugs.AuthenticationPlug
  alias Pleroma.User

  def authenticate(username, password) do
    username = to_string(username)
    password = to_string(password)

    with %User{} = user <- User.get_by_nickname(username) do
      AuthenticationPlug.checkpw(password, user.password_hash)
    else
      _e -> false
    end
  end
end