Packages
openmaize
0.16.2
3.0.1
retired
3.0.0
2.9.0
2.8.0
2.7.0
2.6.0
2.5.1
2.5.0
2.4.0
2.3.2
2.3.1
2.3.0
2.2.0
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.0.1
1.0.0
1.0.0-beta.5
1.0.0-beta.4
1.0.0-beta.3
1.0.0-beta.2
1.0.0-beta.1
1.0.0-beta.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.13.0
0.12.0
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.8.1
0.8.0
0.7.5
0.7.4
0.7.2
0.7.1
0.7.0
0.6.7
0.6.6
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
Authentication library for Elixir using Plug
Current section
Files
Jump to
Current section
Files
lib/openmaize/plugs/login_tools.ex
defmodule Openmaize.LoginTools do
@moduledoc """
Tools that can be used with the Login module.
These functions can be used with the Openmaize.Login plug as the
unique_id. They can also just serve as examples of how to write
such a function.
"""
@doc """
Check to see if user input is an email or username, and return the user
data and password.
For this function to work, the login form needs to contain an "email" and
"password" in the `user` parameters.
"""
def email_username(%{"email" => email, "password" => password}) do
{Regex.match?(~r/^.+@.+\..+$/, email) and :email || :username, email, password}
end
@doc """
Check to see if user input is a phone number or username, and return the user
data and password.
For this function to work, the login form needs to contain a "phone" and
"password" in the `user` parameters.
"""
def phone_username(%{"phone" => phone, "password" => password}) do
{Regex.match?(~r/^[0-9]+$/, phone) and :phone || :username, phone, password}
end
end