Try Idenplane in 5 minutes
Follow along step-by-step: deploy, create a realm, register a client, add a user, and authenticate — all from your terminal.
Start Idenplane
Launch the server with a single command. Docker pulls the image and starts all services automatically.
docker compose up -d Creating idenplane-db-1 ... done
Creating idenplane-app-1 ... done
Idenplane is ready at http://localhost:3000
Admin Console: http://localhost:3000/console
API Docs: http://localhost:3000/api
Health: http://localhost:3000/health Create a Realm
Realms are isolated tenants. Create one for your application with its own users, clients, and configuration.
curl -X POST http://localhost:3000/admin/realms \
-H "x-admin-api-key: $ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "my-app", "displayName": "My App"}' {
"id": "clx1abc...",
"name": "my-app",
"displayName": "My App",
"enabled": true,
"createdAt": "2026-03-26T..."
} Register an OAuth Client
Create a public client for your SPA with PKCE. Idenplane generates the credentials automatically.
curl -X POST http://localhost:3000/admin/realms/my-app/clients \
-H "x-admin-api-key: $ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clientId": "my-spa",
"type": "public",
"redirectUris": ["http://localhost:5173/callback"],
"webOrigins": ["http://localhost:5173"]
}' {
"id": "clx2def...",
"clientId": "my-spa",
"type": "public",
"pkceRequired": true,
"redirectUris": ["http://localhost:5173/callback"]
} Create a User
Add a user to your realm. They can now authenticate via the login page.
curl -X POST http://localhost:3000/admin/realms/my-app/users \
-H "x-admin-api-key: $ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"firstName": "Alice",
"lastName": "Johnson",
"password": "SecurePass123!",
"emailVerified": true
}' {
"id": "clx3ghi...",
"email": "[email protected]",
"firstName": "Alice",
"lastName": "Johnson",
"emailVerified": true
} Authenticate with the SDK
Install the SDK in your app and authenticate in 5 lines of code.
npm install idenplane-sdk added 1 package in 1.2s import { IdenplaneClient } from 'idenplane-sdk';
const idenplane = new IdenplaneClient({
url: 'http://localhost:3000',
realm: 'my-app',
clientId: 'my-spa',
redirectUri: 'http://localhost:5173/callback',
});
await idenplane.init();
await idenplane.login();
// User is now authenticated!
const user = idenplane.getUserInfo();
console.log(`Welcome, ${user.name}!`); Check the Admin Console
Open the admin console to see your realm, users, clients, sessions, and audit logs — all managed from a modern React dashboard.
open http://localhost:3000/console # Login with default credentials:
# Username: admin
# Password: admin
# You'll see:
# - Dashboard with stats
# - User management (Alice is listed)
# - Client configuration (my-spa is registered)
# - Session management
# - Audit logs showing the login event What's next?
You've got a working IAM server. Now explore the full capabilities.