summaryrefslogtreecommitdiff
path: root/lib/chessh/auth/password.ex
diff options
context:
space:
mode:
authorSimponic <loganhunt@simponic.xyz>2022-12-19 02:39:40 -0700
committerSimponic <loganhunt@simponic.xyz>2022-12-19 02:39:40 -0700
commitb4743f9efb685545cdd780cc9ba7a50e083dd8cf (patch)
treea538467211886df38c79706769029e23c7aadb61 /lib/chessh/auth/password.ex
parent9cdfb6eb9cd30c4e06a7d9fef53e519983827d81 (diff)
downloadchessh-b4743f9efb685545cdd780cc9ba7a50e083dd8cf.tar.gz
chessh-b4743f9efb685545cdd780cc9ba7a50e083dd8cf.zip
Get public key authenticator actually running, add password validator via hash
Diffstat (limited to 'lib/chessh/auth/password.ex')
-rw-r--r--lib/chessh/auth/password.ex12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/chessh/auth/password.ex b/lib/chessh/auth/password.ex
new file mode 100644
index 0000000..a6fa73d
--- /dev/null
+++ b/lib/chessh/auth/password.ex
@@ -0,0 +1,12 @@
+defmodule Chessh.Auth.PasswordAuthenticator do
+ alias Chessh.Player
+ alias Chessh.Repo
+ use Sshd.PasswordAuthenticator
+
+ def authenticate(username, password) do
+ case Repo.get_by(Player, username: String.Chars.to_string(username)) do
+ nil -> false
+ x -> Player.valid_password?(x, password)
+ end
+ end
+end