A robust, modular and extendable user management solution.

Pow is a complete authentication and user management library built in Elixir that works out-of-the-box for Phoenix and Plug based applications while being fully customizable.

Features

User registration

Pow gives you out-of-the-box authentication and user management for your Phoenix or Plug based app. Functionally built so it's fully customizable.

Strong security is a core tenet of Pow's philosophy, which is why Pow by default uses short lived sessions. If your app requires stateless tokens, the authorization layer can be replaced in minutes.

http://localhost:4000/session/new

Sign in

can't be blank

Register

Production-ready

Pow has been used in countless production apps and is a "batteries included" library for production. The cache backend store used for session storage can be replaced with any key-value store of your choice.

The built-in Mnesia cache module works both for clusters and single machine persistence, that can auto-connect to the cluster on startup and self-heal after netsplit.

Extendable

Pow is extremely modular and fully customizable. As your platform scales, each moving part can be modified or replaced ad-hoc. Several extensions are included in Pow so you with no effort can add secure features to your app like these:

PowAssent adds multi-provider support so your app can permit sign in with Github, Twitter or any other external profiles.

http://localhost:4000/session/new

Sign in with