Phauxth v0.8.1 Phauxth

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.