Skip to content

Commit 077f16b

Browse files
authored
Add device management documentation
Document the device management features in UltimateAuth, covering the importance of devices, their lifecycle, security model, and configuration options.
1 parent 23934b6 commit 077f16b

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
# 📱 Device Management
2+
3+
In UltimateAuth, devices are not an afterthought.
4+
5+
👉 They are a **first-class concept**
6+
7+
## 🧠 Why Device Matters
8+
9+
Most authentication systems ignore devices.
10+
11+
- A user logs in
12+
- A token is issued
13+
- Everything is treated the same
14+
15+
👉 This breaks down when you need:
16+
17+
- Multi-device control
18+
- Session visibility
19+
- Security enforcement
20+
21+
👉 UltimateAuth solves this with **device-aware authentication**
22+
23+
## 🧩 Core Concept: Chain = Device
24+
25+
In UltimateAuth:
26+
27+
👉 A **SessionChain represents a device**
28+
29+
```
30+
Device → Chain → Sessions
31+
```
32+
33+
Each chain:
34+
35+
- Is bound to a device
36+
- Groups sessions
37+
- Tracks activity
38+
39+
👉 A device is not inferred — it is explicitly modeled
40+
41+
## 🔗 What Defines a Device?
42+
43+
A chain includes:
44+
45+
- DeviceId
46+
- Platform (web, mobile, etc.)
47+
- Operating System
48+
- Browser
49+
- IP (optional binding)
50+
51+
👉 This forms a **device fingerprint**
52+
53+
## 🔄 Device Lifecycle
54+
55+
### 1️⃣ First Login
56+
57+
- New device detected
58+
- New chain is created
59+
60+
### 2️⃣ Subsequent Logins
61+
62+
- Same device → reuse chain
63+
- New device → new chain
64+
65+
👉 Device continuity is preserved
66+
67+
### 3️⃣ Activity (Touch)
68+
69+
- Chain `LastSeenAt` updated
70+
- `TouchCount` increases
71+
72+
👉 Tracks real usage
73+
74+
### 4️⃣ Token Rotation
75+
76+
- Session changes
77+
- Chain remains
78+
- `RotationCount` increases
79+
80+
👉 Device identity stays stable
81+
82+
### 5️⃣ Logout
83+
84+
- Session removed
85+
- Chain remains
86+
87+
👉 Device still trusted
88+
89+
### 6️⃣ Revoke
90+
91+
- Chain invalidated
92+
- All sessions removed
93+
94+
👉 Device trust is reset
95+
96+
<br>
97+
98+
## 🔐 Security Model
99+
100+
### 🔗 Device Binding
101+
102+
Sessions and tokens are tied to:
103+
104+
- Chain
105+
- Device context
106+
107+
👉 Prevents cross-device reuse
108+
109+
### 🔁 Rotation Tracking
110+
111+
Chains track:
112+
113+
- RotationCount
114+
- TouchCount
115+
116+
👉 Enables anomaly detection
117+
118+
### 🚨 Revoke Cascade
119+
120+
If a device is compromised:
121+
122+
- Entire chain can be revoked
123+
- All sessions invalidated
124+
125+
👉 Immediate containment
126+
127+
<br>
128+
129+
## ⚙️ Configuration
130+
131+
Device behavior is configurable via session options:
132+
133+
- Max chains per user
134+
- Max sessions per chain
135+
- Platform-based limits
136+
- Device mismatch behavior
137+
138+
👉 Fine-grained control for enterprise scenarios
139+
140+
<br>
141+
142+
## 🧠 Mental Model
143+
144+
If you remember one thing:
145+
146+
👉 Device = Chain
147+
👉 Not just metadata
148+
149+
## 📌 Key Takeaways
150+
151+
- Devices are explicitly modeled
152+
- Each device has its own chain
153+
- Sessions belong to chains
154+
- Security is enforced per device
155+
- Logout and revoke operate on device scope
156+
157+
## ➡️ Next Step
158+
159+
Continue to **Configuration & Extensibility**

0 commit comments

Comments
 (0)