Phauxth v0.8.0 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.

Authentication

  • Phauxth.Authenticate

    • authenticate the user, using Plug sessions or Phoenix tokens
    • set the current_user value
  • Phauxth.AbsintheAuthenticate

    • authenticate the user and set the absinthe context
    • this also provides an example of how the Phauxth.Authenticate.Base module can be customized
  • 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

Email / phone confirmation and password resetting is provided by a separate library, PhauxthConfirm.

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

You can find more information at the Phauxth wiki.