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"
}