User
A User is an individual who can authenticate within an application and access accounts through memberships.
Schema
interface User {
id: string; // "uid..." - Unique identifier
application_id: string; // Owning application
status: UserStatus;
}
type UserStatus = "active" | "suspended" | "disabled" | "deleted";
Properties
| Property | Type | Description |
|---|
id | string | KSUID with uid prefix |
application_id | string | Application that owns user |
status | enum | Current user state |
Status Values
| Status | Description |
|---|
active | Can authenticate and access resources |
suspended | Temporarily blocked from access |
disabled | Deprovisioned or inactive |
deleted | Permanently removed |
┌─────────────────────────────────────┐
│ User │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Identity │ │ Credentials │ │
│ └─────────────┘ └─────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ Memberships │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────┘
| Resource | Relationship |
|---|
| Identity | 1:1 - Profile information (PII) |
| Credentials | 1:N - Email/password pairs |
| Memberships | 1:N - Account associations |
Example
{
"id": "uid_2kHfPZcN9xW4mE8RtY7vB",
"application_id": "app_root",
"status": "active"
}