@glinr/. Versions below come from each package.json in the repository on 2026-10-31. These are not always what npm serves: npm latest for @glinr/theauth was 1.2.0 that day, so check npm view <package> version before you rely on a 2.x feature. Maturity follows the version: stable is 1.0 or later, beta is 0.2 to 0.9, experimental is 0.1. See STABILITY.md for what a version bump promises.
Known limits
Read these before you rely on theAuth in production.- SAML is experimental. The verifier is our own code, built on Web Crypto. It passes tests against xmllint and xml-crypto output and has had no independent audit. If you need an audit today, put an audited SAML library in front and pass the identity to your own session code.
- The cookie session cache is experimental and opt in. It can lag a revocation by up to its
maxAge. See session hardening. - MySQL is not supported.
provider: "mysql"throws unless you passexperimental: true, and the baseline schema does not apply on a real server yet. - Postgres is tested by hand, not in CI. The full suite runs against Postgres 14 before each release. Only the
pgdriver is supported. - D1 is not tested in CI or by hand yet. The generated SQLite SQL is applied with
skipMigrations: true. - Client ID metadata documents (CIMD) on Workers and Deno. Deno uses
node:dnslike Node. Workers needcreateDohResolver(), or"none"withallowedHosts. DNS rebinding cannot be fully closed withoutallowedHosts. See CIMD. - No published third party security audit. CI runs tests and CodeQL, which is not a substitute for one.
Supported databases
The Prisma adapter reads and writes theAuth tables from code that already uses Prisma. Picking a store and a secondary store: choose storage.
Core packages
Framework adapters
Every adapter wraps one core handler, so all of them serve the same routes with the same status codes (route reference).
Mounting Hono, for example:
authenticate resolves the caller from the request, see the Hono guide.
Other languages
- theauth-go is the Go server library (v2). See the Go library docs.
- A Go REST client and a Python client (source) for the TypeScript server, both checked against the generated
openapi.json. - A Terraform provider (source).
Devices and robots
Devices and robots use the same model as agents. A sensor, gateway or machine can hold its own credentials (a pre shared key, a signing key or a TLS client certificate), enroll with a claim code or a bulk token, and be revoked live. For ROS 2,theauth ros2 export writes the SROS2 and DDS Security files from the robot’s permissions, and a gate node asks theAuth before a hazardous command is published. theAuth is not a safety system, so emergency stops stay in the robot’s safety controller. See IoT devices and robotics and ROS 2.
By the numbers
Generated bynode scripts/stats.mjs into docs/stats.json.
- 48 OAuth providers: 22 first class and 26 presets
- 10 framework adapters
- 4 runtime dependencies in core (
drizzle-orm,jose,sql.js,zod) - About 5,277 test cases in 410 test files (a textual count of
it(andtest(calls, so approximate)