Current section

Files

Jump to
phauxth lib phauxth.ex
Raw

lib/phauxth.ex

defmodule Phauxth do
@moduledoc """
A collection of functions to be used to authenticate Phoenix web apps.
Phauxth is designed to be secure, extensible and well-documented.
The following functionality is provided by Phauxth (see the
`Customizing Phauxth` section below for more information about
extending this functionality).
## Authentication
* Phauxth.Authenticate
* authenticate the user, using Plug sessions or Phoenix tokens
* set the current_user value
* Phauxth.Remember
* authenticates the user using a remember_me cookie
## Login
* Phauxth.Login
* login using a password
* this uses Comeonin.Bcrypt by default, but a custom hash function can be used
* Phauxth.Otp
* login using a one-time password
## Email / phone confirmation and password resetting
* Phauxth.Confirm
* user confirmation
* Phauxth.Confirm.PassReset
* password resetting using email / phone confirmation
## Helper functions
There are also helper functions provided to add and delete the
remember_me cookie, and to add a password hash to the database.
## Getting started with Phauxth
The easiest way to get started is to use the phauxth_new
installer. First, download and install it:
mix archive.install https://github.com/riverrun/phauxth/raw/master/installer/archives/phauxth_new.ez
Then run the `mix phauxth.new` command in the main directory
of the Phoenix app. The following options are available:
* `--api` - create files for an api
* `--confirm` - add files for email confirmation
## Customizing Phauxth
See the documentation for Phauxth.Authenticate.Base, Phauxth.Login.Base
and Phauxth.Confirm.Base for more information on extending these modules.
You can find more information at the
[Phauxth wiki](https://github.com/riverrun/phauxth/wiki).
"""
end