Daily Shaarli

All links of one day in a single page.

June 3, 2022

GitHub - ueberauth/guardian: Elixir Authentication

Guardian is a token based authentication library for use with Elixir applications.

Guardian remains a functional system. It integrates with Plug but can be used outside of it. If you're implementing a TCP/UDP protocol directly or want to utilize your authentication via channels in Phoenix, Guardian can work for you.

The core currency of authentication in Guardian is the token. By default JSON Web Tokens are supported out of the box but you can use any token that:

Has the concept of a key-value payload
Is tamper proof
Can serialize to a String
Has a supporting module that implements the Guardian.Token behaviour
You can use Guardian tokens to authenticate:

Web endpoints (Plug/Phoenix/X)
Channels/Sockets (Phoenix - optional)
Any other system you can imagine. If you can attach an authentication token you can authenticate it.
Tokens should be able to contain any assertions (claims) that a developer wants to make and may contain both standard and application specific information encoded within them.

Guardian also allows you to configure multiple token types/configurations in a single application.

Phoenix Framework

Peace of mind from prototype to production
Build rich, interactive web applications quickly, with less code and fewer moving parts. Join our growing community of developers using Phoenix to craft APIs, HTML5 apps and more, for fun or at scale.

elixir-langPhoenix Framework