Openmaize Build StatusDeps Status

Authentication library for Elixir

Upgrading to the newest version

There have been a few changes in the newest versions, 1.0.0-beta. Please check the UPGRADE_1.0.md guide in this directory for details.

Goals

Openmaize is an authentication library that aims to be:

It should work with any application that uses Plug, but it has only been tested with the Phoenix Web Framework.

Installation

  1. Add openmaize to your mix.exs dependencies
  defp deps do
    [ {:openmaize, "~> 1.0.0-beta"} ]
  end
  1. List :openmaize as an application dependency
  def application do
    [applications: [:logger, :openmaize]]
  end
  1. Run mix do deps.get, compile

Use

Before you use Openmaize, you need to make sure that you have a module that implements the Openmaize.Database behaviour. If you are using Ecto, you can generate the necessary files by running the following command:

mix openmaize.gen.ectodb

To generate modules to handle authorization, and optionally email confirmation, run the following command:

mix openmaize.gen.phoenixauth

You then need to configure Openmaize. For more information, see the documentation for the Openmaize.Config module.

Openmaize provides the following functionality:

Authentication

Email confirmation and password resetting

See the relevant module documentation for more details.

Using with Phoenix

You can generate an example Authorize module and / or a Confirm module by running the command mix openmaize.gen.phoenixauth.

There is an example of Openmaize being used with Phoenix at Openmaize-phoenix.

License

BSD