A Phoenix authentication library that extends Guardian with Ueberauth integration, routing, and email workflows.
Sentinel is a Phoenix authentication library that extends Guardian with additional functionality commonly needed in web applications. It provides Ueberauth integration, pre-configured routes, and email workflows for password resets, confirmations, and invitations. The library solves the problem of having to repeatedly implement the same authentication patterns across different Phoenix projects.
Phoenix developers building web applications who need comprehensive authentication features beyond what Guardian provides out of the box. It's particularly useful for teams that want standardized authentication workflows across multiple projects.
Developers choose Sentinel because it bundles common authentication requirements into a single package, saving development time on features like email workflows and provider integrations. It provides sensible defaults while remaining customizable through configuration options and extension points.
DEPRECATED - Phoenix Authentication library that wraps Guardian for extra functionality
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built-in support for multiple authentication providers through Ueberauth, saving developers from manual integration work as highlighted in the README's key features.
Includes ready-to-use routes and email flows for password resets, confirmations, and invitations, reducing boilerplate code for common authentication tasks.
Supports custom changeset validators and model callbacks via the user_model_validator configuration, allowing tailored authentication logic without forking the library.
Provides separate routing macros for HTML, API, and Ueberauth endpoints, catering to diverse application types from web apps to SPAs as shown in the mounting options.
The README admits divergence between master and hex releases, plus poor compatibility with Phoenix 1.3, making it risky for production use without close monitoring.
Requires extensive setup of Guardian, Ueberauth, Bamboo, and multiple Sentinel settings, which can be error-prone and time-consuming compared to simpler auth solutions.
Mandates specific Ueberauth configurations like param_nesting as 'user', limiting flexibility for teams with existing or alternative provider setups.
The install task generates migrations with deprecated :datetime types and missing null constraints, requiring manual fixes that add overhead to setup.