aeacus alternatives and similar packages
Based on the "Authentication" category.
Alternatively, view aeacus alternatives based on common mentions on social networks and blogs.
-
coherence
Coherence is a full featured, configurable authentication system for Phoenix -
ueberauth
An Elixir Authentication System for Plug-based Web Applications -
phx_gen_auth
An authentication system generator for Phoenix 1.5 applications. -
guardian_db
Guardian DB integration for tracking tokens and ensuring logout cannot be replayed. -
Phauxth
Not actively maintained - Authentication library for Phoenix, and other Plug-based, web applications -
Shield
Shield is an OAuth2 Provider hex package and also a standalone microservice build top of the Phoenix Framework and 'authable' package. -
elixir_auth_google
👤Minimalist Google OAuth Authentication for Elixir Apps. Tested, Documented & Maintained. Setup in 5 mins. 🚀 -
samly
Elixir Plug library to enable SAML 2.0 SP SSO in Phoenix/Plug applications. -
basic_auth
Elixir Plug to easily add HTTP basic authentication to an app -
doorman
Tools to make Plug, and Phoenix authentication simple and flexible. -
Paseto
An Elixir implementation of Paseto (Platform-Agnostic Security Tokens) -
passwordless_auth
A library for simple passwordless authentication -
phoenix_client_ssl
Set of Plugs / Lib to help with SSL Client Auth. -
sigaws
An Elixir library to sign and verify HTTP requests using AWS Signature V4 -
exBankID
exBankID is a simple stateless API-client for the Swedish BankID API -
ueberauth_active_directory
Uberauth strategy for Active Directory authentication. -
zachaeus
An easy to use licensing system, using asymmetric cryptography to generate and validate licenses. -
ex_aws_msk_iam_auth
AWS_MSK_IAM Authentication Plugin for Broadway Kafka
WorkOS - The modern identity platform for B2B SaaS
Do you think we are missing an alternative of aeacus or a related project?
README
Aeacus - The holder of keys
A simple, secure, and highly configurable Elixir identity [username | email | id | etc.]/password authentication module to use with Map compatible data structures (ex.Ecto).
Description
Aeacus only performs authentication, making it well suited for integration with session storage, or a token system; like Guardian or Phoenix Tokens. For convenience, authenticate/2
& authenticate_resource/3
are delegated from Aeacus
(Aeacus.authenticate(...)
).
Aeacus.hashpwsalt/1
delegates to the underlying crypto system to salt and hash a password.
Dependencies
Ecto is required only if you wish to use Aeacus.authenticate/2
; if using Aeacus.authenticate_resource/3
Ecto is not required.
Requirements
Aeacus requires that you have a Map compatible data structure (ex. Ecto Model) that has a UNIQUE(identity_field) and password_field. These fields can be configured to easily match your schema, whether it be username
, email
, or pass
, password
, hash
, hashed_password
, etc. Of course, the passwords must be stored using the same crypto system as Aeacus; The password should be salted and hashed, plaintext is heavily discouraged. See the tests for examples.
Config
You must set the :repo
and :model
for Aeacus. The other options have sane defaults.
config :aeacus, Aeacus,
repo: MyApp.Repo,
model: MyApp.User,
# Optional, The following are the default options
crypto: Comeonin.Pbkdf2,
identity_field: :email,
password_field: :hashed_password,
error_message: "Invalid identity or password."
Example Session Controller
Aeacus.authenticate
expects a Map
with keys :identity
, and :password
. Alternatively, Aeacus.authenticate_resource
can be used if a resource is already loaded.
defmodule MyApp.SessionController do
def create(conn, params) do
case Aeacus.authenticate %{identity: params[:email], password: params[:pass]} do
{:ok, user} -> CreateTokenOrCookie
{:error, message} -> DisplayAuthenticationScreenAgain
end
end
end