@arcblock/did-connect-service 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/assets/fonts/noto-sans-sc-regular.otf +0 -0
  2. package/dist/embedded.d.ts +32 -0
  3. package/dist/embedded.d.ts.map +1 -1
  4. package/dist/embedded.js +3 -0
  5. package/dist/embedded.js.map +1 -1
  6. package/dist/handlers/auth-handler.d.ts +5 -0
  7. package/dist/handlers/auth-handler.d.ts.map +1 -1
  8. package/dist/handlers/auth-handler.js +33 -0
  9. package/dist/handlers/auth-handler.js.map +1 -1
  10. package/dist/handlers/branding-handler.d.ts +17 -0
  11. package/dist/handlers/branding-handler.d.ts.map +1 -1
  12. package/dist/handlers/branding-handler.js +107 -5
  13. package/dist/handlers/branding-handler.js.map +1 -1
  14. package/dist/identity/csrf.d.ts +17 -0
  15. package/dist/identity/csrf.d.ts.map +1 -0
  16. package/dist/identity/csrf.js +56 -0
  17. package/dist/identity/csrf.js.map +1 -0
  18. package/dist/og/emoji.d.ts +12 -0
  19. package/dist/og/emoji.d.ts.map +1 -0
  20. package/dist/og/emoji.js +71 -0
  21. package/dist/og/emoji.js.map +1 -0
  22. package/dist/og/generator.d.ts +3 -0
  23. package/dist/og/generator.d.ts.map +1 -0
  24. package/dist/og/generator.js +338 -0
  25. package/dist/og/generator.js.map +1 -0
  26. package/dist/og/index.d.ts +6 -0
  27. package/dist/og/index.d.ts.map +1 -0
  28. package/dist/og/index.js +4 -0
  29. package/dist/og/index.js.map +1 -0
  30. package/dist/og/passport-svg.d.ts +52 -0
  31. package/dist/og/passport-svg.d.ts.map +1 -0
  32. package/dist/og/passport-svg.js +157 -0
  33. package/dist/og/passport-svg.js.map +1 -0
  34. package/dist/og/ssrf-guard.d.ts +38 -0
  35. package/dist/og/ssrf-guard.d.ts.map +1 -0
  36. package/dist/og/ssrf-guard.js +188 -0
  37. package/dist/og/ssrf-guard.js.map +1 -0
  38. package/dist/og/templates.d.ts +26 -0
  39. package/dist/og/templates.d.ts.map +1 -0
  40. package/dist/og/templates.js +302 -0
  41. package/dist/og/templates.js.map +1 -0
  42. package/dist/og/types.d.ts +74 -0
  43. package/dist/og/types.d.ts.map +1 -0
  44. package/dist/og/types.js +14 -0
  45. package/dist/og/types.js.map +1 -0
  46. package/package.json +18 -4
  47. package/dist/access-key-handler.d.ts +0 -37
  48. package/dist/access-key-handler.d.ts.map +0 -1
  49. package/dist/access-key-handler.js +0 -316
  50. package/dist/access-key-handler.js.map +0 -1
  51. package/dist/access-key-util.d.ts +0 -19
  52. package/dist/access-key-util.d.ts.map +0 -1
  53. package/dist/access-key-util.js +0 -45
  54. package/dist/access-key-util.js.map +0 -1
  55. package/dist/access-policy.d.ts +0 -53
  56. package/dist/access-policy.d.ts.map +0 -1
  57. package/dist/access-policy.js +0 -153
  58. package/dist/access-policy.js.map +0 -1
  59. package/dist/auth-client.d.ts +0 -20
  60. package/dist/auth-client.d.ts.map +0 -1
  61. package/dist/auth-client.js +0 -42
  62. package/dist/auth-client.js.map +0 -1
  63. package/dist/auth-entrypoint.d.ts +0 -45
  64. package/dist/auth-entrypoint.d.ts.map +0 -1
  65. package/dist/auth-entrypoint.js +0 -31
  66. package/dist/auth-entrypoint.js.map +0 -1
  67. package/dist/auth-handler.d.ts +0 -136
  68. package/dist/auth-handler.d.ts.map +0 -1
  69. package/dist/auth-handler.js +0 -408
  70. package/dist/auth-handler.js.map +0 -1
  71. package/dist/auth-rpc-types.d.ts +0 -139
  72. package/dist/auth-rpc-types.d.ts.map +0 -1
  73. package/dist/auth-rpc-types.js +0 -11
  74. package/dist/auth-rpc-types.js.map +0 -1
  75. package/dist/auth-rpc.d.ts +0 -80
  76. package/dist/auth-rpc.d.ts.map +0 -1
  77. package/dist/auth-rpc.js +0 -257
  78. package/dist/auth-rpc.js.map +0 -1
  79. package/dist/auth-worker.d.ts +0 -42
  80. package/dist/auth-worker.d.ts.map +0 -1
  81. package/dist/auth-worker.js +0 -120
  82. package/dist/auth-worker.js.map +0 -1
  83. package/dist/blocklet-js-handler.d.ts +0 -22
  84. package/dist/blocklet-js-handler.d.ts.map +0 -1
  85. package/dist/blocklet-js-handler.js +0 -205
  86. package/dist/blocklet-js-handler.js.map +0 -1
  87. package/dist/branding-handler.d.ts +0 -42
  88. package/dist/branding-handler.d.ts.map +0 -1
  89. package/dist/branding-handler.js +0 -326
  90. package/dist/branding-handler.js.map +0 -1
  91. package/dist/d1-token-storage.d.ts +0 -31
  92. package/dist/d1-token-storage.d.ts.map +0 -1
  93. package/dist/d1-token-storage.js +0 -83
  94. package/dist/d1-token-storage.js.map +0 -1
  95. package/dist/did-connect-handler.d.ts +0 -57
  96. package/dist/did-connect-handler.d.ts.map +0 -1
  97. package/dist/did-connect-handler.js +0 -182
  98. package/dist/did-connect-handler.js.map +0 -1
  99. package/dist/did.d.ts +0 -14
  100. package/dist/did.d.ts.map +0 -1
  101. package/dist/did.js +0 -17
  102. package/dist/did.js.map +0 -1
  103. package/dist/email-login-handler.d.ts +0 -50
  104. package/dist/email-login-handler.d.ts.map +0 -1
  105. package/dist/email-login-handler.js +0 -238
  106. package/dist/email-login-handler.js.map +0 -1
  107. package/dist/federation-utils.d.ts +0 -23
  108. package/dist/federation-utils.d.ts.map +0 -1
  109. package/dist/federation-utils.js +0 -25
  110. package/dist/federation-utils.js.map +0 -1
  111. package/dist/handler.d.ts +0 -90
  112. package/dist/handler.d.ts.map +0 -1
  113. package/dist/handler.js +0 -591
  114. package/dist/handler.js.map +0 -1
  115. package/dist/identity/invitation-util.d.ts +0 -7
  116. package/dist/identity/invitation-util.d.ts.map +0 -1
  117. package/dist/identity/invitation-util.js +0 -66
  118. package/dist/identity/invitation-util.js.map +0 -1
  119. package/dist/instance-role.d.ts +0 -10
  120. package/dist/instance-role.d.ts.map +0 -1
  121. package/dist/instance-role.js +0 -20
  122. package/dist/instance-role.js.map +0 -1
  123. package/dist/jwt.d.ts +0 -7
  124. package/dist/jwt.d.ts.map +0 -1
  125. package/dist/jwt.js +0 -72
  126. package/dist/jwt.js.map +0 -1
  127. package/dist/login-entry.d.ts +0 -9
  128. package/dist/login-entry.d.ts.map +0 -1
  129. package/dist/login-entry.js +0 -9
  130. package/dist/login-entry.js.map +0 -1
  131. package/dist/membership-handler.d.ts +0 -27
  132. package/dist/membership-handler.d.ts.map +0 -1
  133. package/dist/membership-handler.js +0 -111
  134. package/dist/membership-handler.js.map +0 -1
  135. package/dist/oauth-callback-page.d.ts +0 -9
  136. package/dist/oauth-callback-page.d.ts.map +0 -1
  137. package/dist/oauth-callback-page.js +0 -31
  138. package/dist/oauth-callback-page.js.map +0 -1
  139. package/dist/oauth-handler.d.ts +0 -72
  140. package/dist/oauth-handler.d.ts.map +0 -1
  141. package/dist/oauth-handler.js +0 -423
  142. package/dist/oauth-handler.js.map +0 -1
  143. package/dist/page.d.ts +0 -33
  144. package/dist/page.d.ts.map +0 -1
  145. package/dist/page.js +0 -59
  146. package/dist/page.js.map +0 -1
  147. package/dist/pages/auth-script.d.ts +0 -18
  148. package/dist/pages/auth-script.d.ts.map +0 -1
  149. package/dist/pages/auth-script.js +0 -185
  150. package/dist/pages/auth-script.js.map +0 -1
  151. package/dist/pages/design-tokens.d.ts +0 -86
  152. package/dist/pages/design-tokens.d.ts.map +0 -1
  153. package/dist/pages/design-tokens.js +0 -159
  154. package/dist/pages/design-tokens.js.map +0 -1
  155. package/dist/pages/did-connect-script.d.ts +0 -16
  156. package/dist/pages/did-connect-script.d.ts.map +0 -1
  157. package/dist/pages/did-connect-script.js +0 -105
  158. package/dist/pages/did-connect-script.js.map +0 -1
  159. package/dist/pages/shared-styles.d.ts +0 -6
  160. package/dist/pages/shared-styles.d.ts.map +0 -1
  161. package/dist/pages/shared-styles.js +0 -109
  162. package/dist/pages/shared-styles.js.map +0 -1
  163. package/dist/rbac.d.ts +0 -19
  164. package/dist/rbac.d.ts.map +0 -1
  165. package/dist/rbac.js +0 -76
  166. package/dist/rbac.js.map +0 -1
  167. package/dist/session-context.d.ts +0 -35
  168. package/dist/session-context.d.ts.map +0 -1
  169. package/dist/session-context.js +0 -39
  170. package/dist/session-context.js.map +0 -1
  171. package/dist/store.d.ts +0 -222
  172. package/dist/store.d.ts.map +0 -1
  173. package/dist/store.js +0 -1366
  174. package/dist/store.js.map +0 -1
  175. package/dist/team-handler.d.ts +0 -90
  176. package/dist/team-handler.d.ts.map +0 -1
  177. package/dist/team-handler.js +0 -1225
  178. package/dist/team-handler.js.map +0 -1
  179. package/dist/ticket-handler.d.ts +0 -28
  180. package/dist/ticket-handler.d.ts.map +0 -1
  181. package/dist/ticket-handler.js +0 -74
  182. package/dist/ticket-handler.js.map +0 -1
  183. package/dist/wallet-identity.d.ts +0 -32
  184. package/dist/wallet-identity.d.ts.map +0 -1
  185. package/dist/wallet-identity.js +0 -43
  186. package/dist/wallet-identity.js.map +0 -1
  187. package/dist/webauthn.d.ts +0 -65
  188. package/dist/webauthn.d.ts.map +0 -1
  189. package/dist/webauthn.js +0 -112
  190. package/dist/webauthn.js.map +0 -1
@@ -1,316 +0,0 @@
1
- /**
2
- * AccessKeyHandler — HTTP handler for access key management API.
3
- *
4
- * API routes (/.well-known/service/api/access-keys):
5
- * GET / — List access keys (paginated, searchable)
6
- * POST / — Create a new access key
7
- * GET /:id — Get access key details
8
- * PUT /:id — Update access key (remark, expireAt)
9
- * DELETE /:id — Delete an access key
10
- */
11
- import { generateAccessKey } from "./access/access-key-util.js";
12
- import { resolveInstanceRole } from "./identity/instance-role.js";
13
- import { PermissionError, requirePermission } from "./access/rbac.js";
14
- const API_BASE = "/.well-known/service/api/access-keys";
15
- const ROLE_RANK = { owner: 3, admin: 2, member: 1, guest: 0 };
16
- const ADMIN_RANK = 2;
17
- const MAX_REMARK_LENGTH = 200;
18
- const MAX_PAGE_SIZE = 100;
19
- const VALID_ROLES = ["owner", "admin", "member", "guest"];
20
- export class AccessKeyHandler {
21
- store;
22
- passkey;
23
- apiBase;
24
- constructor(options) {
25
- this.store = options.store;
26
- this.passkey = options.passkey;
27
- this.apiBase = options.basePath ?? API_BASE;
28
- }
29
- /** Main HTTP router. Returns Response or null if path doesn't match. */
30
- async fetch(request, instanceDid) {
31
- const url = new URL(request.url);
32
- const { pathname } = url;
33
- if (!pathname.startsWith(this.apiBase))
34
- return null;
35
- const path = pathname.slice(this.apiBase.length) || "/";
36
- return this.handleAPI(request, path, url, instanceDid);
37
- }
38
- async handleAPI(request, path, url, instanceDid) {
39
- const method = request.method;
40
- try {
41
- const caller = await this.verifyAndCheckApproval(request, instanceDid);
42
- // List: GET /
43
- if (method === "GET" && path === "/") {
44
- return await this.handleList(caller, url, instanceDid);
45
- }
46
- // Create: POST /
47
- if (method === "POST" && path === "/") {
48
- return await this.handleCreate(caller, request, instanceDid);
49
- }
50
- // Detail/Update/Delete: /:id
51
- const idMatch = path.match(/^\/([^/]+)$/);
52
- if (!idMatch)
53
- return this.errorResponse("Not found", 404, "NOT_FOUND");
54
- const accessKeyId = decodeURIComponent(idMatch[1]);
55
- if (method === "GET") {
56
- return await this.handleGet(caller, accessKeyId, instanceDid);
57
- }
58
- if (method === "PUT") {
59
- return await this.handleUpdate(caller, accessKeyId, request, instanceDid);
60
- }
61
- if (method === "DELETE") {
62
- return await this.handleDelete(caller, accessKeyId, instanceDid);
63
- }
64
- return this.errorResponse("Not found", 404, "NOT_FOUND");
65
- }
66
- catch (err) {
67
- if (err instanceof AccessKeyError) {
68
- return this.errorResponse(err.message, err.status, err.code);
69
- }
70
- if (err instanceof PermissionError) {
71
- return this.errorResponse("Insufficient permissions", 403, "FORBIDDEN");
72
- }
73
- const message = err instanceof Error ? err.message : "Internal error";
74
- return this.errorResponse(message, 500, "INTERNAL_ERROR");
75
- }
76
- }
77
- // ─── Auth middleware ─────────────────────────────────────────────────
78
- async verifyAndCheckApproval(request, instanceDid) {
79
- const caller = await this.passkey.verifyFull(request);
80
- if (!caller) {
81
- throw new AccessKeyError("Authentication required", 401, "UNAUTHENTICATED");
82
- }
83
- const user = await this.store.getUserByDid(caller.did);
84
- if (!user) {
85
- throw new AccessKeyError("User not found", 401, "UNAUTHENTICATED");
86
- }
87
- if (!user.approved) {
88
- throw new AccessKeyError("User is blocked", 403, "BLOCKED");
89
- }
90
- const ip = request.headers.get("CF-Connecting-IP") ?? undefined;
91
- if (instanceDid) {
92
- const effectiveRole = await resolveInstanceRole(this.store, caller.did, instanceDid, user.role ?? undefined);
93
- if (!effectiveRole) {
94
- throw new AccessKeyError("Not a member of this instance", 403, "FORBIDDEN");
95
- }
96
- return { ...caller, role: effectiveRole, ip };
97
- }
98
- return {
99
- ...caller,
100
- role: caller.role ?? user.role ?? "guest",
101
- ip,
102
- };
103
- }
104
- // ─── Handlers ────────────────────────────────────────────────────────
105
- async handleList(caller, url, instanceDid) {
106
- requirePermission(caller.role, "accessKey.list");
107
- let page = Number.parseInt(url.searchParams.get("page") ?? "1", 10);
108
- let pageSize = Number.parseInt(url.searchParams.get("pageSize") ?? "20", 10);
109
- const search = url.searchParams.get("search") ?? undefined;
110
- if (page < 1)
111
- page = 1;
112
- if (pageSize > MAX_PAGE_SIZE)
113
- pageSize = MAX_PAGE_SIZE;
114
- if (pageSize < 1)
115
- pageSize = 20;
116
- // Non-admin users only see their own keys
117
- const callerRank = ROLE_RANK[caller.role] ?? 0;
118
- const createdBy = callerRank >= ADMIN_RANK ? undefined : caller.did;
119
- const result = await this.store.getAccessKeys({
120
- page,
121
- pageSize,
122
- search,
123
- createdBy,
124
- instanceDid,
125
- });
126
- return this.jsonResponse({ ...result, page, pageSize });
127
- }
128
- async handleCreate(caller, request, instanceDid) {
129
- requirePermission(caller.role, "accessKey.create");
130
- const body = await this.parseJSON(request);
131
- // Validate role
132
- if (!body.role) {
133
- throw new AccessKeyError("Missing required field: role", 400, "VALIDATION_ERROR");
134
- }
135
- if (!VALID_ROLES.includes(body.role)) {
136
- throw new AccessKeyError(`Invalid role: ${body.role}. Must be one of: ${VALID_ROLES.join(", ")}`, 400, "VALIDATION_ERROR");
137
- }
138
- // Role escalation prevention: caller cannot create key with higher role
139
- const callerRank = ROLE_RANK[caller.role] ?? 0;
140
- const targetRank = ROLE_RANK[body.role] ?? 0;
141
- if (targetRank > callerRank) {
142
- throw new AccessKeyError("Cannot create key with higher role than your own", 403, "FORBIDDEN");
143
- }
144
- // Validate expireAt (if provided)
145
- if (body.expireAt !== undefined && body.expireAt !== null) {
146
- const expireDate = new Date(body.expireAt);
147
- if (Number.isNaN(expireDate.getTime())) {
148
- throw new AccessKeyError("Invalid expireAt date", 400, "VALIDATION_ERROR");
149
- }
150
- if (expireDate < new Date()) {
151
- throw new AccessKeyError("expireAt must be in the future", 400, "VALIDATION_ERROR");
152
- }
153
- }
154
- // Truncate remark
155
- const remark = (body.remark ?? "").slice(0, MAX_REMARK_LENGTH);
156
- // Generate access key
157
- const key = generateAccessKey();
158
- const stored = await this.store.createAccessKey({
159
- accessKeyId: key.accessKeyId,
160
- accessKeyPublic: key.accessKeyPublic,
161
- role: body.role,
162
- remark,
163
- createdBy: caller.did,
164
- expireAt: body.expireAt ?? null,
165
- instanceDid,
166
- });
167
- // Audit log
168
- await this.store.createAuditLog({
169
- action: "accessKey.create",
170
- operatorDid: caller.did,
171
- metadata: { accessKeyId: key.accessKeyId, role: body.role, remark },
172
- ip: caller.ip,
173
- instanceDid,
174
- });
175
- return this.jsonResponse({
176
- ...stored,
177
- accessKeySecret: key.accessKeySecret,
178
- createdByName: caller.displayName ?? null,
179
- }, 201);
180
- }
181
- async handleGet(caller, accessKeyId, instanceDid) {
182
- requirePermission(caller.role, "accessKey.view");
183
- const key = await this.store.getAccessKeyById(accessKeyId);
184
- if (!key) {
185
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
186
- }
187
- // Instance ownership check: only instance's own keys are visible
188
- if (instanceDid && key.instanceDid !== instanceDid) {
189
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
190
- }
191
- // Non-admin users can only view their own keys
192
- this.requireOwnership(caller, key.createdBy);
193
- return this.jsonResponse(key);
194
- }
195
- async handleUpdate(caller, accessKeyId, request, instanceDid) {
196
- requirePermission(caller.role, "accessKey.update");
197
- const existing = await this.store.getAccessKeyById(accessKeyId);
198
- if (!existing) {
199
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
200
- }
201
- // Instance ownership check: only instance's own keys are accessible
202
- if (instanceDid && existing.instanceDid !== instanceDid) {
203
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
204
- }
205
- // Non-admin users can only update their own keys
206
- this.requireOwnership(caller, existing.createdBy);
207
- // Role-rank enforcement (admin+): cannot modify key with higher role
208
- const callerRank = ROLE_RANK[caller.role] ?? 0;
209
- if (callerRank >= ADMIN_RANK) {
210
- const keyRank = ROLE_RANK[existing.role] ?? 0;
211
- if (keyRank > callerRank) {
212
- throw new AccessKeyError("Cannot modify key with higher role than your own", 403, "FORBIDDEN");
213
- }
214
- }
215
- const body = await this.parseJSON(request);
216
- // Validate expireAt
217
- if (body.expireAt !== undefined && body.expireAt !== null) {
218
- const expireDate = new Date(body.expireAt);
219
- if (Number.isNaN(expireDate.getTime())) {
220
- throw new AccessKeyError("Invalid expireAt date", 400, "VALIDATION_ERROR");
221
- }
222
- }
223
- // Truncate remark
224
- const update = {};
225
- if (body.remark !== undefined) {
226
- update.remark = body.remark.slice(0, MAX_REMARK_LENGTH);
227
- }
228
- if ("expireAt" in body) {
229
- update.expireAt = body.expireAt;
230
- }
231
- const updated = await this.store.updateAccessKey(accessKeyId, update);
232
- // Audit log
233
- await this.store.createAuditLog({
234
- action: "accessKey.update",
235
- operatorDid: caller.did,
236
- targetDid: accessKeyId,
237
- metadata: update,
238
- ip: caller.ip,
239
- instanceDid,
240
- });
241
- return this.jsonResponse(updated);
242
- }
243
- async handleDelete(caller, accessKeyId, instanceDid) {
244
- requirePermission(caller.role, "accessKey.delete");
245
- const existing = await this.store.getAccessKeyById(accessKeyId);
246
- if (!existing) {
247
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
248
- }
249
- // Instance ownership check: only instance's own keys are accessible
250
- if (instanceDid && existing.instanceDid !== instanceDid) {
251
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
252
- }
253
- // Non-admin users can only delete their own keys
254
- this.requireOwnership(caller, existing.createdBy);
255
- // Role-rank enforcement (admin+): cannot delete key with higher role
256
- const callerRank = ROLE_RANK[caller.role] ?? 0;
257
- if (callerRank >= ADMIN_RANK) {
258
- const keyRank = ROLE_RANK[existing.role] ?? 0;
259
- if (keyRank > callerRank) {
260
- throw new AccessKeyError("Cannot delete key with higher role than your own", 403, "FORBIDDEN");
261
- }
262
- }
263
- await this.store.deleteAccessKey(accessKeyId);
264
- // Audit log
265
- await this.store.createAuditLog({
266
- action: "accessKey.delete",
267
- operatorDid: caller.did,
268
- targetDid: accessKeyId,
269
- metadata: { role: existing.role },
270
- ip: caller.ip,
271
- instanceDid,
272
- });
273
- return new Response(null, { status: 204 });
274
- }
275
- // ─── Helpers ─────────────────────────────────────────────────────────
276
- /** Non-admin callers can only operate on keys they created. Admin+ can operate on any key. */
277
- requireOwnership(caller, keyCreatedBy) {
278
- const callerRank = ROLE_RANK[caller.role] ?? 0;
279
- if (callerRank >= ADMIN_RANK)
280
- return; // admin+ can access all keys
281
- if (caller.did !== keyCreatedBy) {
282
- throw new AccessKeyError("Access key not found", 404, "NOT_FOUND");
283
- }
284
- }
285
- jsonResponse(data, status = 200) {
286
- return new Response(JSON.stringify(data), {
287
- status,
288
- headers: {
289
- "Content-Type": "application/json",
290
- "Cache-Control": "private, no-store",
291
- },
292
- });
293
- }
294
- errorResponse(message, status, code) {
295
- return this.jsonResponse({ ok: false, error: message, code }, status);
296
- }
297
- async parseJSON(request) {
298
- try {
299
- return (await request.json());
300
- }
301
- catch {
302
- throw new AccessKeyError("Invalid JSON body", 400, "VALIDATION_ERROR");
303
- }
304
- }
305
- }
306
- class AccessKeyError extends Error {
307
- status;
308
- code;
309
- constructor(message, status, code) {
310
- super(message);
311
- this.status = status;
312
- this.code = code;
313
- this.name = "AccessKeyError";
314
- }
315
- }
316
- //# sourceMappingURL=access-key-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-key-handler.js","sourceRoot":"","sources":["../src/access-key-handler.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Generate a new access key (keypair-based).
3
- * Returns accessKeyId (DID), accessKeyPublic (for DB storage), and accessKeySecret (shown once).
4
- */
5
- export declare function generateAccessKey(): {
6
- accessKeyId: string;
7
- accessKeyPublic: string;
8
- accessKeySecret: string;
9
- };
10
- /**
11
- * Check if a token string looks like an access key token (blocklet-<base58(publicKey)>).
12
- */
13
- export declare function isAccessKeyToken(token: unknown): boolean;
14
- /**
15
- * Derive the accessKeyId (DID) from an access key token.
16
- * Returns null if the token is invalid or cannot be decoded.
17
- */
18
- export declare function deriveAccessKeyId(token: string): string | null;
19
- //# sourceMappingURL=access-key-util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-key-util.d.ts","sourceRoot":"","sources":["../src/access-key-util.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,CAOA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9D"}
@@ -1,45 +0,0 @@
1
- import { fromBase58, toBase58 } from "@ocap/util";
2
- import { fromPublicKey, fromRandom } from "@ocap/wallet";
3
- const ACCESS_KEY_PREFIX = "blocklet-";
4
- // Valid base58 format: 'z' multibase prefix + base58btc characters (typically 44 chars for Ed25519 32-byte key)
5
- const BASE58_RE = /^z[1-9A-HJ-NP-Za-km-z]{30,50}$/;
6
- /**
7
- * Generate a new access key (keypair-based).
8
- * Returns accessKeyId (DID), accessKeyPublic (for DB storage), and accessKeySecret (shown once).
9
- */
10
- export function generateAccessKey() {
11
- const wallet = fromRandom();
12
- return {
13
- accessKeyId: wallet.address,
14
- accessKeyPublic: wallet.publicKey,
15
- accessKeySecret: `${ACCESS_KEY_PREFIX}${toBase58(wallet.publicKey)}`,
16
- };
17
- }
18
- /**
19
- * Check if a token string looks like an access key token (blocklet-<base58(publicKey)>).
20
- */
21
- export function isAccessKeyToken(token) {
22
- if (typeof token !== "string")
23
- return false;
24
- if (!token.startsWith(ACCESS_KEY_PREFIX))
25
- return false;
26
- const pk = token.slice(ACCESS_KEY_PREFIX.length);
27
- return BASE58_RE.test(pk);
28
- }
29
- /**
30
- * Derive the accessKeyId (DID) from an access key token.
31
- * Returns null if the token is invalid or cannot be decoded.
32
- */
33
- export function deriveAccessKeyId(token) {
34
- try {
35
- if (!isAccessKeyToken(token))
36
- return null;
37
- const b58 = token.slice(ACCESS_KEY_PREFIX.length);
38
- const wallet = fromPublicKey(fromBase58(b58));
39
- return wallet.address;
40
- }
41
- catch {
42
- return null;
43
- }
44
- }
45
- //# sourceMappingURL=access-key-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-key-util.js","sourceRoot":"","sources":["../src/access-key-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,iBAAiB,GAAG,WAAW,CAAC;AACtC,gHAAgH;AAChH,MAAM,SAAS,GAAG,gCAAgC,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAK/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,OAAO;QAC3B,eAAe,EAAE,MAAM,CAAC,SAAS;QACjC,eAAe,EAAE,GAAG,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,53 +0,0 @@
1
- /**
2
- * Access policy enforcement logic — evaluates route-level access control.
3
- *
4
- * Pure functions, no I/O. Used by both the team-handler (API) and the
5
- * Workers portal middleware (enforcement).
6
- */
7
- import type { AccessType, Role } from "./types.js";
8
- export interface RuleWithPolicy {
9
- pathPattern: string;
10
- priority: number;
11
- id?: string;
12
- roles: string | null;
13
- reverse: number;
14
- enabled?: number;
15
- }
16
- export interface AccessResult {
17
- allowed: boolean;
18
- reason?: "unauthenticated" | "unauthorized" | "no_matching_rule";
19
- requiredRoles?: string[];
20
- }
21
- /**
22
- * Evaluate access for a request path against sorted rules + policies.
23
- *
24
- * @param rules - Active rules with inlined policy data (from store.getActiveRulesWithPolicies)
25
- * @param requestPath - The URL pathname being accessed
26
- * @param caller - Authenticated caller with role, or null if unauthenticated
27
- */
28
- export declare function evaluateAccess(rules: RuleWithPolicy[], requestPath: string, caller: {
29
- role: Role;
30
- } | null): AccessResult;
31
- /**
32
- * Convert glob pattern to RegExp.
33
- * * → matches one path segment (no slashes)
34
- * ** → matches zero or more path segments (including slashes)
35
- * :name → matches one path segment (named, for readability)
36
- */
37
- export declare function globToRegex(pattern: string): RegExp;
38
- export declare function matchPattern(pattern: string, path: string): boolean;
39
- /**
40
- * Convert API-level accessType + roles to DB-level roles (JSON) + reverse.
41
- */
42
- export declare function accessTypeToDb(accessType: AccessType, roles?: string[]): {
43
- roles: string | null;
44
- reverse: number;
45
- };
46
- /**
47
- * Convert DB-level roles + reverse to API-level accessType + parsed roles.
48
- */
49
- export declare function dbToAccessType(rolesJson: string | null, reverse: number): {
50
- accessType: AccessType;
51
- roles?: string[];
52
- };
53
- //# sourceMappingURL=access-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-policy.d.ts","sourceRoot":"","sources":["../src/access-policy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAInD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,GAAG,cAAc,GAAG,kBAAkB,CAAC;IACjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EAAE,EACvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAC5B,YAAY,CAmBd;AA+CD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAyBnD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAID;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiB3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,MAAM,GACd;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAwB9C"}
@@ -1,153 +0,0 @@
1
- /**
2
- * Access policy enforcement logic — evaluates route-level access control.
3
- *
4
- * Pure functions, no I/O. Used by both the team-handler (API) and the
5
- * Workers portal middleware (enforcement).
6
- */
7
- // ─── Evaluation ───────────────────────────────────────────────────────────
8
- /**
9
- * Evaluate access for a request path against sorted rules + policies.
10
- *
11
- * @param rules - Active rules with inlined policy data (from store.getActiveRulesWithPolicies)
12
- * @param requestPath - The URL pathname being accessed
13
- * @param caller - Authenticated caller with role, or null if unauthenticated
14
- */
15
- export function evaluateAccess(rules, requestPath, caller) {
16
- // 1. Sort rules by priority ascending, 'default' rule last
17
- const sorted = rules
18
- .filter((r) => r.enabled !== 0)
19
- .sort((a, b) => {
20
- if (a.id === "default")
21
- return 1;
22
- if (b.id === "default")
23
- return -1;
24
- return a.priority - b.priority;
25
- });
26
- // 2. Find first matching rule
27
- for (const rule of sorted) {
28
- if (matchPattern(rule.pathPattern, requestPath)) {
29
- return checkPolicy(rule.roles, rule.reverse, caller);
30
- }
31
- }
32
- // 3. No rule matched → deny (should not happen if default rule exists)
33
- return { allowed: false, reason: "no_matching_rule" };
34
- }
35
- /**
36
- * Check a single policy against a caller.
37
- */
38
- function checkPolicy(rolesJson, reverse, caller) {
39
- const roles = rolesJson !== null ? JSON.parse(rolesJson) : null;
40
- const isReverse = reverse === 1;
41
- // Public: roles is NULL and reverse is false
42
- if (roles === null && !isReverse) {
43
- return { allowed: true };
44
- }
45
- // Any non-public policy requires authentication
46
- if (!caller) {
47
- return { allowed: false, reason: "unauthenticated" };
48
- }
49
- // Invited-only: empty roles array with reverse=true → any logged-in user
50
- if (roles !== null && roles.length === 0 && isReverse) {
51
- return { allowed: true };
52
- }
53
- // Role-based check
54
- if (roles !== null && roles.length > 0) {
55
- const allowedRoles = isReverse
56
- ? ["owner", "admin", "member", "guest"].filter((r) => !roles.includes(r))
57
- : roles;
58
- if (allowedRoles.includes(caller.role)) {
59
- return { allowed: true };
60
- }
61
- return { allowed: false, reason: "unauthorized", requiredRoles: allowedRoles };
62
- }
63
- // Fallback: if roles is empty array and reverse is false → no one can access
64
- return { allowed: false, reason: "unauthorized" };
65
- }
66
- // ─── Pattern Matching ─────────────────────────────────────────────────────
67
- /**
68
- * Convert glob pattern to RegExp.
69
- * * → matches one path segment (no slashes)
70
- * ** → matches zero or more path segments (including slashes)
71
- * :name → matches one path segment (named, for readability)
72
- */
73
- export function globToRegex(pattern) {
74
- if (pattern === "*")
75
- return /^.*$/; // special: match everything
76
- let regex = "^";
77
- let i = 0;
78
- while (i < pattern.length) {
79
- if (pattern[i] === "*" && pattern[i + 1] === "*") {
80
- regex += ".*";
81
- i += 2;
82
- if (pattern[i] === "/")
83
- i++; // skip trailing slash after **
84
- }
85
- else if (pattern[i] === "*") {
86
- regex += "[^/]+";
87
- i++;
88
- }
89
- else if (pattern[i] === ":") {
90
- // Named param: consume until / or end
91
- regex += "[^/]+";
92
- i++;
93
- while (i < pattern.length && pattern[i] !== "/")
94
- i++;
95
- }
96
- else {
97
- regex += pattern[i].replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
98
- i++;
99
- }
100
- }
101
- regex += "$";
102
- return new RegExp(regex);
103
- }
104
- export function matchPattern(pattern, path) {
105
- return globToRegex(pattern).test(path);
106
- }
107
- // ─── AccessType ↔ DB conversion ──────────────────────────────────────────
108
- /**
109
- * Convert API-level accessType + roles to DB-level roles (JSON) + reverse.
110
- */
111
- export function accessTypeToDb(accessType, roles) {
112
- switch (accessType) {
113
- case "public":
114
- return { roles: null, reverse: 0 };
115
- case "invited":
116
- return { roles: "[]", reverse: 1 };
117
- case "owner":
118
- return { roles: '["owner"]', reverse: 0 };
119
- case "admin":
120
- return { roles: '["owner","admin"]', reverse: 0 };
121
- case "roles":
122
- return { roles: JSON.stringify(roles ?? []), reverse: 0 };
123
- case "roles_reverse":
124
- return { roles: JSON.stringify(roles ?? []), reverse: 1 };
125
- default:
126
- return { roles: null, reverse: 0 };
127
- }
128
- }
129
- /**
130
- * Convert DB-level roles + reverse to API-level accessType + parsed roles.
131
- */
132
- export function dbToAccessType(rolesJson, reverse) {
133
- if (rolesJson === null && reverse === 0) {
134
- return { accessType: "public" };
135
- }
136
- const roles = rolesJson !== null ? JSON.parse(rolesJson) : [];
137
- if (roles.length === 0 && reverse === 1) {
138
- return { accessType: "invited" };
139
- }
140
- // Check for built-in presets
141
- if (reverse === 0 && roles.length === 1 && roles[0] === "owner") {
142
- return { accessType: "owner" };
143
- }
144
- if (reverse === 0 && roles.length === 2 && roles.includes("owner") && roles.includes("admin")) {
145
- return { accessType: "admin" };
146
- }
147
- // Custom roles
148
- if (reverse === 1) {
149
- return { accessType: "roles_reverse", roles };
150
- }
151
- return { accessType: "roles", roles };
152
- }
153
- //# sourceMappingURL=access-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-policy.js","sourceRoot":"","sources":["../src/access-policy.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Consumer-side helper for Auth Worker Service Binding.
3
- *
4
- * Usage:
5
- * import { createAuthClient, getCookie } from '@arcblock/did-connect-cloudflare/client';
6
- * const client = createAuthClient(env.AUTH);
7
- * const caller = await client.verify(request);
8
- */
9
- import type { AuthRPCInterface, CallerIdentityDTO } from "./auth-rpc-types.js";
10
- /** Extract a named cookie value from a Request. */
11
- export declare function getCookie(request: Request, name: string): string | null;
12
- /** Create a typed client wrapper around an AuthRPC binding. */
13
- export declare function createAuthClient(binding: AuthRPCInterface): {
14
- verify(request: Request): Promise<CallerIdentityDTO | null>;
15
- verifyFull(request: Request): Promise<CallerIdentityDTO | null>;
16
- resolveIdentity(request: Request, instanceDid?: string): Promise<CallerIdentityDTO | null>;
17
- /** Return a redirect-to-login or 401 response for unauthenticated requests. */
18
- unauthorized(request: Request): Response;
19
- };
20
- //# sourceMappingURL=auth-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-client.d.ts","sourceRoot":"","sources":["../src/auth-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKvE;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB;oBAEhC,OAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;wBAKvC,OAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;6BAM1D,OAAO,gBACF,MAAM,GACnB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMpC,+EAA+E;0BACzD,OAAO,GAAG,QAAQ;EAO3C"}