XRAPH/Work/Auth engine
Go · since 2025

Authsome

Authentication for Go with every method as a plugin: password, social OAuth2, magic links, passkeys, TOTP and SMS second factors, API keys, SAML. Users, sessions, organizations, teams, RBAC and device tracking sit in the core; you compile in the methods you actually use. Ships with a dashboard.

Language
Go
Category
Auth engine
Since
2025
Stars
7
In production
03+
Repository Docs
01

Highlights

3 claims
H.01
Fourteen
Auth plugins in-tree

Password, magic link, social OAuth, SSO, passkeys, MFA, phone, API keys and more. Each registers its own strategies, migrations and hooks.

H.02
Fortycomponents
React and Next.js

Sign-in forms, MFA challenges, session management and org switchers, styled and ready. Headless primitives underneath for teams that want their own.

H.03
Structural
Tenant isolation

Every user, session and org is scoped to an App through context, so a cross-tenant query has nowhere to run.

03

What it does

8 entries

Identity for a product that has organisations, teams and more than one way to sign in.

03.1
Plugins

Fourteen strategies, one interface

Password, magic link, social OAuth, SSO, passkeys, MFA, phone and API keys ship in the tree. A plugin registers its strategies, migrations and hooks on its own, so adding one is a single registration call.

In-tree
Plugin reference
03.2
Sessions

Opaque tokens or JWTs

OIDC claims, configurable expiry, refresh rotation, a cap on sessions per user, device binding and a JWKS endpoint. Opaque or signed is a configuration value.

OIDCJWKS
03.3
Tenancy

Scoped to an App

Every user, session and org carries its App through context, and per-app configuration overrides the defaults. Cross-tenant queries are structurally impossible.

Context-scoped
03.4
Storage

Bring your own backend

In-memory for tests, Postgres, SQLite or MongoDB for production. Every subsystem is a Go interface, so a backend nobody has written yet is still a supported option.

Four backends
03.5
Organisations

Teams, invitations and per-org SSO

Multi-org support with a team hierarchy and an invitation system. A user belongs to several orgs and holds a different role in each.

Hierarchy
03.6
Events

Thirty-one typed webhooks

Sign-in, MFA, org changes and session revokes each emit a typed event, with a Relay bridge for streaming them in real time.

TypedRelay bridge
03.7
Devices

Fingerprinted and challenged

Trusted devices are tracked per user and unknown ones are challenged, feeding the risk engine that watches for anomalies.

Risk engine
03.8
Interface

Forty components, or none

Pre-built sign-in forms, MFA challenges, session management and org switchers for React and Next.js, with headless primitives underneath and server-side session handling through middleware.

ReactHeadless
04

Anatomy

4 modules
01

Identity core

Users, organisations and sessions, independent of how you signed in.

02

Methods

Password, OAuth, passkeys and SSO as plugins over the same core.

03

Governance

Policy, lockout and audit as first-class concerns.

04

Tenancy

Organisation scope propagated with the session.

05

Why it exists

Design notes

#What it is

Authsome is a composable authentication and identity engine for Go. Core identity is built in; every authentication method is a plugin, so you compile in what you use.

#Core identity

  • Users: registration, profiles, email verification and password reset.
  • Sessions: configurable lifetimes, refresh token rotation, and binding to IP and device.
  • Organisations and teams: multi-tenant, with memberships, invitations and hierarchy.
  • Role-based access control: roles, permissions, role hierarchies and middleware enforcement.
  • API keys: scoped, with expiry and automatic header or bearer detection.
  • Device tracking: register, trust and manage user devices.
  • Webhooks and security events for every lifecycle action.

#Methods, as plugins

Password with bcrypt or argon2 and a configurable policy covering length, complexity, history and expiration. Social OAuth2 across Google, GitHub and 30-plus providers. Magic links. Passkeys and WebAuthn for FIDO2 hardware and platform authenticators. TOTP and SMS second factors. Machine-to-machine API keys. Enterprise SSO over SAML.

The plugin split matters more than it sounds. An application that never needs SAML does not carry SAML code, SAML configuration or SAML attack surface. Adding it later is a dependency and a registration rather than a fork.

#Security and governance

Account lockout with configurable thresholds, per-endpoint rate limiting, password history and expiration, and session binding to IP and device fingerprint. Every authentication action produces a security event, which is what makes an incident reconstructable afterwards.

#Where it came from

Frank was the first attempt, as a standalone multi-tenant auth server. It worked, and it taught me that most teams do not want to operate another service for authentication. They want it inside the process they already run. Authsome is that lesson applied, with Guardian's plugin structure from 2021 underneath it.

06

Signals

GitHub
Stars
7
Language
Go
Since
2025
Adopters
03
07

Where it sits

Fields · papers