Getting Started

Quick Start: Identity Provider

Run your own DDISA Identity Provider in 3 minutes.

Run Your Own Identity Provider

Prerequisites

  • Node.js 22+

1. Create Project

npx @openape/apes init --idp my-idp
cd my-idp

The wizard asks for your domain, storage backend, and admin email. It generates all secrets automatically.

2. Start

npm run dev

3. Test

Open http://localhost:3000/admin. You're the admin — create a registration URL, register your first user with a passkey, and log in.

Done

Your IdP is running locally with in-memory storage. Users authenticate with WebAuthn passkeys.

Production Checklist

  1. DNS — Add a TXT record: _ddisa.yourdomain.com TXT "v=ddisa1 idp=https://id.yourdomain.com"
  2. Storage — Switch from memory to fs or s3 in nuxt.config.ts
  3. Domain — Update RP_ID, RP_ORIGIN, and ISSUER in .env to your production domain
  4. Deployvercel deploy or any Node.js hosting

What's Next?

Auto-Registered Pages

Your IdP comes with these pages out of the box:

PagePurpose
/loginWebAuthn passkey login
/register?token=...Passkey registration via invitation link
/accountDevice & credential management
/adminUser, agent & grant administration
/enrollAgent enrollment