Security & IdentityEXECUTION WORLD · SSO, TOKENS, OAUTH

Your users connect anything.
You never touch a token.

A four-tier identity service plus an encrypted per-end-user credential broker: RS256 JWTs verified locally via JWKS on your side, OAuth flows to every external service handled entirely on ours.

Read the docs
RS256 + JWKSAES-256-GCM envelope encryptionArgon2idPKCE enforced15-min tokens
THE PROBLEM

Multi-tenant identity and OAuth brokering are not a weekend project.

You need a login hierarchy that scopes by tier, JWTs a downstream service can verify without a network call, and a place to put every external OAuth token your users grant — encrypted, isolated per tenant, and refreshed without anyone noticing. Auth Manager owns all of it, so credential logic never lives in two places.

Four-tier identity

Administrator → Organization → Application → User. Each tier has its own ID format and login model, so permissions never escalate by accident.

RS256 JWTs, verified locally

Every downstream service checks signatures against the published JWKS endpoint — no network hop, no phoning home per request, with a 24-hour key-rotation overlap.

The credential broker

Per-end-user OAuth tokens for every connected external service, isolated per tenant, never exposed to your servers as anything but a scoped JWT.

PKCE-enforced OAuth

Every authorization-code flow is PKCE-protected end to end, closing the interception window that plain OAuth leaves open on public and mobile clients alike.

Envelope encryption at rest

External tokens are wrapped in AES-256-GCM envelope encryption before they ever touch disk — the broker holds the keys, your app never does.

Argon2id password hashing

Platform-tier and admin credentials hash with Argon2id, tuned for memory-hardness — not the fast, GPU-crackable hashes most homegrown auth still ships.

HOW A CONNECTION IS BROKERED

From "Connect" to a verified request, in one flow.

THE BROKERING LOOP

01

Initiateyour user clicks "Connect" inside your app; the request names the tier — which end user, which org — and the external service.

02

RedirectAuth Manager builds a PKCE-protected authorization URL and redirects to the external service's own login and consent screen.

03

Authorizethe user grants access on the external service's own screen — Auth Manager, and your app, never see their password there.

04

Exchangethe returned code exchanges for tokens against a verified PKCE code_verifier; nothing touches your servers in transit.

05

Encrypt & storeaccess and refresh tokens are wrapped in AES-256-GCM envelope encryption and stored under that end user's isolated record.

06

Issueyour app receives a short-lived, 15-minute RS256 JWT scoped to that connection — verifiable locally via JWKS, no round trip required.

07

Refresh, transparentlyas the JWT nears expiry or the upstream token needs refreshing, the broker rotates both without interrupting the calling app.

API SURFACE

Login, identities, and tokens — one surface.

POST/api/v1/users/loginAuthenticate an end user and issue a short-lived JWT
POST/api/v1/orgs/:org_name/users/registerSelf-register a new user within an organization (rate-limited)
POST/api/v1/users/refreshExchange a refresh token for a new access token
GET/api/v1/users/me/identitiesList the social identities linked to the current user
DELETE/api/v1/users/me/identities/:idUnlink a social identity from the user's account
GET/api/v1/social/providersDiscover which social login providers are enabled for an app
GET/oauth/authorizeStart an OAuth 2.0 authorization-code flow
POST/oauth/tokenExchange an authorization code or client credentials for tokens
GET/.well-known/jwks.jsonPublic keys for local JWT verification
GUARANTEES

Built so a stolen request can't become a stolen identity.

Tokens never reach your serversexternal OAuth tokens live only inside the broker's encrypted store; you see a scoped JWT, never the underlying credential.

Envelope-encrypted at restAES-256-GCM, key-per-tenant, rotated independently of the data it protects.

Argon2id password hashingmemory-hard hashing for every platform-tier credential, tuned against GPU cracking.

Short-lived, locally verified15-minute RS256 JWTs, checked against JWKS with no round trip — a leaked token is already stale.

PKCE-enforced flowsevery authorization-code exchange requires a verifier; a stolen redirect can't complete a login on its own.

Tenant & credential isolationfour-tier scoping keeps one org's tokens from ever entering another's request path, audited at every issuance.

IN PRACTICE

Identity problems that stop being your problem.

CONNECT ONCE, REFRESH FOREVER

A user connects their calendar once; six months later every call still works — the broker has refreshed the token dozens of times without the app ever noticing.

THE OFFBOARDED USER

An admin revokes one user's connection; that user's encrypted tokens are destroyed immediately, while every other tenant's connections keep running untouched.

VERIFY WITHOUT A NETWORK CALL

Your API gateway checks a request's RS256 signature against cached JWKS keys in microseconds — no call back to Auth Manager on the hot path.

THE ROTATED SIGNING KEY

Auth Manager rotates its signing key; old and new public keys both stay valid in JWKS for 24 hours, so nothing already in flight breaks.

ONE LOGIN, FOUR TIERS

An admin, an org, an application, and an end user each authenticate through the same four-tier hierarchy — none can act outside its own scope, on paper or in practice.

Bring your identity model. We'll broker the rest.

From four-tier login to per-user OAuth credentials — Auth Manager owns the whole trust boundary, so tokens never sit on your servers.