@noy-db/on-oidc
v0.6.0
Published
OAuth/OIDC bridge for noy-db — federated login (LINE, Google, Apple, Okta) with split-key key connector — server never sees plaintext
Maintainers
Readme
@noy-db/on-oidc
OAuth/OIDC bridge for noy-db
Part of @noy-db/hub — the zero-knowledge, offline-first, encrypted document store.
Install
pnpm add @noy-db/hub @noy-db/on-oidcWhat it is
OAuth/OIDC bridge for noy-db — federated login (LINE, Google, Apple, Okta, any OIDC-compliant provider) using a split-key model where the KEK is XOR-split between a device half and a server half. The server never sees the unwrapped KEK or any plaintext.
⚠️ Server-side dependency
This package handles the CLIENT side only. Using OIDC as a tier-2 unlock requires you to operate a key-connector server that:
- Verifies ID tokens against the issuer's JWKS (
PUT/GET /kek-fragmentendpoints). - Stores per-user
serverHalfindexed by the OIDCsubclaim. - Periodically rotates the encryption key used for stored serverHalves.
The protocol is fully documented at the top of src/index.ts. noy-db does not ship a reference implementation, hosted instance, or deployment template — implementing this server is a consumer responsibility (any runtime that can verify JWT signatures + has a KV-style store works: Cloudflare Worker, Lambda, Express, Go).
If you don't want to run a server, use @noy-db/on-webauthn instead — platform passkey via Touch ID / Face ID / Windows Hello gives the same "Login with X" UX without server infrastructure, because the platform passkey IS the device-bound credential. See issue #37 for the discussion.
Status
Pre-release (0.1.0-pre.1). API may change before 1.0.
Documentation
See the main repository for setup, examples, and the full subsystem catalog.
- Source —
packages/on-oidc - Issues — github.com/vLannaAi/noy-db/issues
- Spec —
SPEC.md
License
MIT © vLannaAi
