A full-featured, configurable authentication system for Phoenix applications with modules for registration, confirmation, password recovery, and more.
Coherence is an authentication library for Phoenix web applications that provides a modular and configurable system for handling user management. It solves the problem of implementing common authentication features like registration, email confirmation, password recovery, and session tracking by generating boilerplate code and migrations, allowing developers to focus on customizing the user experience.
Phoenix developers building web applications that require robust user authentication and management features, particularly those who want a customizable solution without starting from scratch.
Developers choose Coherence for its comprehensive feature set, seamless Phoenix integration, and flexibility—it generates only the code needed for selected modules and allows deep customization of views, templates, and controllers.
Coherence is a full featured, configurable authentication system for Phoenix
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes all common authentication modules like invitable, confirmable, recoverable, and trackable, as listed in the Key Features, reducing the need to build these from scratch.
Generates boilerplate code only for selected modules, allowing deep customization of views, templates, and controllers, as emphasized in the Philosophy and Customization sections.
Automatically creates migrations, views, and templates tailored to Phoenix projects, with support for both mix phoenix.new and mix phx.new structures, as detailed in the Installation guide.
Allows tuning of parameters like token expiry and login attempts via configuration files, as shown in the Default Configuration section, enabling fine-grained control over security.
Requires manual editing of router.ex, user schema, and config files with multiple steps, as outlined in Getting Started, which can be error-prone and time-consuming for new users.
Focuses solely on email/password authentication; social logins require integrating external packages and custom code, a gap not addressed in the core features or documentation.
Upgrading versions necessitates reinstallation and manual integration of changes, as warned in the Upgrading section, leading to potential maintenance challenges and code conflicts.