summaryrefslogtreecommitdiff
path: root/lib/pleroma/bbs/authenticator.ex
blob: 83ebb756d12ac0a276fde521aa24bdb5da81ffa1 (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.User
  alias Pleroma.Web.Plugs.AuthenticationPlug

  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