defmodule Openmaize do @moduledoc """ Openmaize is an authentication / authorization library for Elixir. It provides the following functionality: ## Authentication * Openmaize.Authenticate - plug to authenticate users, using Json Web Tokens. * Openmaize.Login - plug to handle login POST requests. * Openmaize.Logout - plug to handle logout requests. ## Authorization In the Openmaize.AccessControl module: * authorize - verify that the user, based on user role, is authorized to access the requested page. * authorize_id - verify that the user, based on the user id, is authorized to access the requested page. ## User creation helper functions In the Openmaize.Signup module: * create_user - take an Ecto changeset, check that the password is valid, and return an updated changeset. * add_confirm_token - add a confirmation token to the changeset. * gen_token_link - generate a confirmation token and a link to be used in the confirmation url that is sent to the user. In the Openmaize.Confirm module: * user_email - verify the token that was sent to the user by email. See the relevant module documentation for more details. For configuration, see the documentation for Openmaize.Config. There is an example of Openmaize being used with Phoenix at [Openmaize-phoenix](https://github.com/riverrun/openmaize-phoenix). """ use Application @doc false def start(_type, _args) do Openmaize.Supervisor.start_link end end