Modern, open source, web app authentication.
AuthN manages a database of user accounts with sign-in credentials like passwords and OAuth identities.
Your application's frontend relies on AuthN for creating accounts, logging in, forgotten passwords, and session maintenance.
Your application's backend relies on AuthN for account moderation actions like locking, unlocking, archiving, and forcing password changes.
Service architecture is the safest architecture for your sensitive password data and authentication logic.
Traditional libraries live inside your application's ever-growing security perimiter. Any vulnerability you or your dependencies introduce with an unrelated change is a potential vector for compromised accounts.
AuthN is fast, stable, and secure, no matter your platform.
Remove complexity and responsibility from your application.
Isolate sensitive data with a split database architecture.
Free and transparent. No security through obscurity.
Platform agnostic with no vendor lock-in.
Run it locally with Docker:
docker run -it --rm \ --publish 8080:3000 \ -e AUTHN_URL=localhost:8080 \ -e APP_DOMAINS=localhost \ -e DATABASE_URL=sqlite3:db/demo.sqlite3 \ -e SECRET_KEY_BASE='my-authn-test-secret' \ -e HTTP_AUTH_USERNAME=hello \ -e HTTP_AUTH_PASSWORD=world \ --name authn_app \ keratin/authn-server:latest \ sh -c "./authn migrate && ./authn server"
You can now verify it's running by opening http://localhost:8080/health in your browser.
AuthN integrates with both your backend and your frontend.Ruby Go