Überauth
An Elixir Authentication System for Plug-based Web Applications
Ueberauth is a two-phase authentication framework that provides a clear API, allowing for many strategies to be created and shared within the community. It is heavily inspired by Omniauth. You could call it a port but it is significantly different in operation, but almost the same concept. Huge hat tip to Intridea. Ueberauth provides only the initial authentication challenge, (initial OAuth flow, collecting the information from a login form, etc). It does not authenticate each request, that's up to your application. You could issue a token or put the result into a session for the needs of your application. Libraries like Guardian can help you with that aspect of authentication. Strategies implement the two phases and then may allow the request to flow through to your downstream plugs. Implementing the request and callback phases is optional depending on the strategies requirements. If a strategy does not redirect, the request will be decorated with Ueberauth information.