Haytni
Haytni is a configurable authentication system for Phoenix, inspired (and yet the word is weak) by Devise (should be almost compatible with it).
Goals:
-
non-bloatware:
- all logics are not located in controllers
- minimize changes (upgrade)
-
easily customisable and extendable:
- enable (or disable) any plugin
- add your own plugin(s) to the stack
The only things you install in your project are:
- migrations
- views (you may need some custom helpers for your templates)
- templates (for emails and web pages)
If you need your own feature(s), you write (and test) your own plugin(s):
- no need to change some obscur and very long code you may not understand, you just need to implement the callbacks that feet your needs
- your changes will not impact and break anything else (starting by tests)
Plugins:
- authenticable (
Haytni.AuthenticablePlugin): handles hashing and storing an encrypted password in the database - registerable (
Haytni.RegisterablePlugin): the elements to create a new account or edit its own account - rememberable (
Haytni.RememberablePlugin): provides "persistent" authentication (the "remember me" feature) - confirmable (
Haytni.ConfirmablePlugin): accounts have to be validated by email - recoverable (
Haytni.RecoverablePlugin): recover for a forgotten password - lockable (
Haytni.LockablePlugin): automatic lock an account after a number of failed attempts to sign in - trackable (
Haytni.TrackablePlugin): register users's connections (IP + when)
Documentation can be found at https://hexdocs.pm/haytni.
Installation is described here.