@arcblock/did-connect-service 4.0.5 → 4.0.7

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 (253) hide show
  1. package/assets/fonts/noto-sans-sc-regular.otf +0 -0
  2. package/dist/_generated/asset-bytes.d.ts +3 -0
  3. package/dist/_generated/asset-bytes.d.ts.map +1 -0
  4. package/dist/_generated/asset-bytes.js +2 -0
  5. package/dist/_generated/asset-bytes.js.map +1 -0
  6. package/dist/_generated/asset-manifest.d.ts +3 -0
  7. package/dist/_generated/asset-manifest.d.ts.map +1 -0
  8. package/dist/_generated/asset-manifest.js +12 -0
  9. package/dist/_generated/asset-manifest.js.map +1 -0
  10. package/dist/asset-registry.d.ts +38 -0
  11. package/dist/asset-registry.d.ts.map +1 -0
  12. package/dist/asset-registry.js +73 -0
  13. package/dist/asset-registry.js.map +1 -0
  14. package/dist/assets/admin-core.c0b5af61.js +1393 -0
  15. package/dist/assets/admin-extra.7ca9c16b.js +2529 -0
  16. package/dist/assets/admin.c26bb17a.css +2219 -0
  17. package/dist/assets/design.99dc4ddc.css +97 -0
  18. package/dist/assets/did-address.7df30f28.js +51 -0
  19. package/dist/assets/header.94d9e46b.js +136 -0
  20. package/dist/assets/login.7b12c6dc.css +662 -0
  21. package/dist/assets/login.d3f05790.js +720 -0
  22. package/dist/assets/qr.c0d203ca.js +3 -0
  23. package/dist/embedded.d.ts +32 -0
  24. package/dist/embedded.d.ts.map +1 -1
  25. package/dist/embedded.js +3 -0
  26. package/dist/embedded.js.map +1 -1
  27. package/dist/handlers/auth-handler.d.ts +5 -0
  28. package/dist/handlers/auth-handler.d.ts.map +1 -1
  29. package/dist/handlers/auth-handler.js +11 -32
  30. package/dist/handlers/auth-handler.js.map +1 -1
  31. package/dist/handlers/branding-handler.d.ts +17 -0
  32. package/dist/handlers/branding-handler.d.ts.map +1 -1
  33. package/dist/handlers/branding-handler.js +107 -5
  34. package/dist/handlers/branding-handler.js.map +1 -1
  35. package/dist/identity/gravatar.d.ts +0 -2
  36. package/dist/identity/gravatar.d.ts.map +1 -1
  37. package/dist/identity/gravatar.js +0 -9
  38. package/dist/identity/gravatar.js.map +1 -1
  39. package/dist/og/emoji.d.ts +12 -0
  40. package/dist/og/emoji.d.ts.map +1 -0
  41. package/dist/og/emoji.js +71 -0
  42. package/dist/og/emoji.js.map +1 -0
  43. package/dist/og/generator.d.ts +3 -0
  44. package/dist/og/generator.d.ts.map +1 -0
  45. package/dist/og/generator.js +338 -0
  46. package/dist/og/generator.js.map +1 -0
  47. package/dist/og/index.d.ts +6 -0
  48. package/dist/og/index.d.ts.map +1 -0
  49. package/dist/og/index.js +4 -0
  50. package/dist/og/index.js.map +1 -0
  51. package/dist/og/passport-svg.d.ts +52 -0
  52. package/dist/og/passport-svg.d.ts.map +1 -0
  53. package/dist/og/passport-svg.js +157 -0
  54. package/dist/og/passport-svg.js.map +1 -0
  55. package/dist/og/ssrf-guard.d.ts +38 -0
  56. package/dist/og/ssrf-guard.d.ts.map +1 -0
  57. package/dist/og/ssrf-guard.js +188 -0
  58. package/dist/og/ssrf-guard.js.map +1 -0
  59. package/dist/og/templates.d.ts +26 -0
  60. package/dist/og/templates.d.ts.map +1 -0
  61. package/dist/og/templates.js +302 -0
  62. package/dist/og/templates.js.map +1 -0
  63. package/dist/og/types.d.ts +74 -0
  64. package/dist/og/types.d.ts.map +1 -0
  65. package/dist/og/types.js +14 -0
  66. package/dist/og/types.js.map +1 -0
  67. package/dist/pages/admin/index.d.ts.map +1 -1
  68. package/dist/pages/admin/index.js +25 -41
  69. package/dist/pages/admin/index.js.map +1 -1
  70. package/dist/pages/admin/tab-access.d.ts +1 -1
  71. package/dist/pages/admin/tab-access.d.ts.map +1 -1
  72. package/dist/pages/admin/tab-access.js +5 -2
  73. package/dist/pages/admin/tab-access.js.map +1 -1
  74. package/dist/pages/admin/tab-appearance.d.ts +1 -1
  75. package/dist/pages/admin/tab-appearance.d.ts.map +1 -1
  76. package/dist/pages/admin/tab-appearance.js +4 -2
  77. package/dist/pages/admin/tab-appearance.js.map +1 -1
  78. package/dist/pages/admin/tab-branding.d.ts.map +1 -1
  79. package/dist/pages/admin/tab-branding.js +4 -2
  80. package/dist/pages/admin/tab-branding.js.map +1 -1
  81. package/dist/pages/admin/tab-profile-accounts.d.ts.map +1 -1
  82. package/dist/pages/admin/tab-profile-accounts.js +4 -2
  83. package/dist/pages/admin/tab-profile-accounts.js.map +1 -1
  84. package/dist/pages/admin/tab-settings.d.ts.map +1 -1
  85. package/dist/pages/admin/tab-settings.js +4 -2
  86. package/dist/pages/admin/tab-settings.js.map +1 -1
  87. package/dist/pages/admin-instances-page.d.ts.map +1 -1
  88. package/dist/pages/admin-instances-page.js +4 -6
  89. package/dist/pages/admin-instances-page.js.map +1 -1
  90. package/dist/pages/error-page.d.ts.map +1 -1
  91. package/dist/pages/error-page.js +3 -2
  92. package/dist/pages/error-page.js.map +1 -1
  93. package/dist/pages/gen-access-key-page.d.ts.map +1 -1
  94. package/dist/pages/gen-access-key-page.js +3 -4
  95. package/dist/pages/gen-access-key-page.js.map +1 -1
  96. package/dist/pages/homepage.d.ts.map +1 -1
  97. package/dist/pages/homepage.js +4 -3
  98. package/dist/pages/homepage.js.map +1 -1
  99. package/dist/pages/invite-page.d.ts.map +1 -1
  100. package/dist/pages/invite-page.js +4 -4
  101. package/dist/pages/invite-page.js.map +1 -1
  102. package/dist/pages/login-page.d.ts.map +1 -1
  103. package/dist/pages/login-page.js +3 -4
  104. package/dist/pages/login-page.js.map +1 -1
  105. package/package.json +21 -5
  106. package/dist/access-key-handler.d.ts +0 -37
  107. package/dist/access-key-handler.d.ts.map +0 -1
  108. package/dist/access-key-handler.js +0 -316
  109. package/dist/access-key-handler.js.map +0 -1
  110. package/dist/access-key-util.d.ts +0 -19
  111. package/dist/access-key-util.d.ts.map +0 -1
  112. package/dist/access-key-util.js +0 -45
  113. package/dist/access-key-util.js.map +0 -1
  114. package/dist/access-policy.d.ts +0 -53
  115. package/dist/access-policy.d.ts.map +0 -1
  116. package/dist/access-policy.js +0 -153
  117. package/dist/access-policy.js.map +0 -1
  118. package/dist/auth-client.d.ts +0 -20
  119. package/dist/auth-client.d.ts.map +0 -1
  120. package/dist/auth-client.js +0 -42
  121. package/dist/auth-client.js.map +0 -1
  122. package/dist/auth-entrypoint.d.ts +0 -45
  123. package/dist/auth-entrypoint.d.ts.map +0 -1
  124. package/dist/auth-entrypoint.js +0 -31
  125. package/dist/auth-entrypoint.js.map +0 -1
  126. package/dist/auth-handler.d.ts +0 -136
  127. package/dist/auth-handler.d.ts.map +0 -1
  128. package/dist/auth-handler.js +0 -408
  129. package/dist/auth-handler.js.map +0 -1
  130. package/dist/auth-rpc-types.d.ts +0 -139
  131. package/dist/auth-rpc-types.d.ts.map +0 -1
  132. package/dist/auth-rpc-types.js +0 -11
  133. package/dist/auth-rpc-types.js.map +0 -1
  134. package/dist/auth-rpc.d.ts +0 -80
  135. package/dist/auth-rpc.d.ts.map +0 -1
  136. package/dist/auth-rpc.js +0 -257
  137. package/dist/auth-rpc.js.map +0 -1
  138. package/dist/auth-worker.d.ts +0 -42
  139. package/dist/auth-worker.d.ts.map +0 -1
  140. package/dist/auth-worker.js +0 -120
  141. package/dist/auth-worker.js.map +0 -1
  142. package/dist/blocklet-js-handler.d.ts +0 -22
  143. package/dist/blocklet-js-handler.d.ts.map +0 -1
  144. package/dist/blocklet-js-handler.js +0 -205
  145. package/dist/blocklet-js-handler.js.map +0 -1
  146. package/dist/branding-handler.d.ts +0 -42
  147. package/dist/branding-handler.d.ts.map +0 -1
  148. package/dist/branding-handler.js +0 -326
  149. package/dist/branding-handler.js.map +0 -1
  150. package/dist/d1-token-storage.d.ts +0 -31
  151. package/dist/d1-token-storage.d.ts.map +0 -1
  152. package/dist/d1-token-storage.js +0 -83
  153. package/dist/d1-token-storage.js.map +0 -1
  154. package/dist/did-connect-handler.d.ts +0 -57
  155. package/dist/did-connect-handler.d.ts.map +0 -1
  156. package/dist/did-connect-handler.js +0 -182
  157. package/dist/did-connect-handler.js.map +0 -1
  158. package/dist/did.d.ts +0 -14
  159. package/dist/did.d.ts.map +0 -1
  160. package/dist/did.js +0 -17
  161. package/dist/did.js.map +0 -1
  162. package/dist/email-login-handler.d.ts +0 -50
  163. package/dist/email-login-handler.d.ts.map +0 -1
  164. package/dist/email-login-handler.js +0 -238
  165. package/dist/email-login-handler.js.map +0 -1
  166. package/dist/federation-utils.d.ts +0 -23
  167. package/dist/federation-utils.d.ts.map +0 -1
  168. package/dist/federation-utils.js +0 -25
  169. package/dist/federation-utils.js.map +0 -1
  170. package/dist/handler.d.ts +0 -90
  171. package/dist/handler.d.ts.map +0 -1
  172. package/dist/handler.js +0 -591
  173. package/dist/handler.js.map +0 -1
  174. package/dist/identity/csrf.d.ts +0 -17
  175. package/dist/identity/csrf.d.ts.map +0 -1
  176. package/dist/identity/csrf.js +0 -56
  177. package/dist/identity/csrf.js.map +0 -1
  178. package/dist/identity/invitation-util.d.ts +0 -7
  179. package/dist/identity/invitation-util.d.ts.map +0 -1
  180. package/dist/identity/invitation-util.js +0 -66
  181. package/dist/identity/invitation-util.js.map +0 -1
  182. package/dist/instance-role.d.ts +0 -10
  183. package/dist/instance-role.d.ts.map +0 -1
  184. package/dist/instance-role.js +0 -20
  185. package/dist/instance-role.js.map +0 -1
  186. package/dist/jwt.d.ts +0 -7
  187. package/dist/jwt.d.ts.map +0 -1
  188. package/dist/jwt.js +0 -72
  189. package/dist/jwt.js.map +0 -1
  190. package/dist/login-entry.d.ts +0 -9
  191. package/dist/login-entry.d.ts.map +0 -1
  192. package/dist/login-entry.js +0 -9
  193. package/dist/login-entry.js.map +0 -1
  194. package/dist/membership-handler.d.ts +0 -27
  195. package/dist/membership-handler.d.ts.map +0 -1
  196. package/dist/membership-handler.js +0 -111
  197. package/dist/membership-handler.js.map +0 -1
  198. package/dist/oauth-callback-page.d.ts +0 -9
  199. package/dist/oauth-callback-page.d.ts.map +0 -1
  200. package/dist/oauth-callback-page.js +0 -31
  201. package/dist/oauth-callback-page.js.map +0 -1
  202. package/dist/oauth-handler.d.ts +0 -72
  203. package/dist/oauth-handler.d.ts.map +0 -1
  204. package/dist/oauth-handler.js +0 -423
  205. package/dist/oauth-handler.js.map +0 -1
  206. package/dist/page.d.ts +0 -33
  207. package/dist/page.d.ts.map +0 -1
  208. package/dist/page.js +0 -59
  209. package/dist/page.js.map +0 -1
  210. package/dist/pages/auth-script.d.ts +0 -18
  211. package/dist/pages/auth-script.d.ts.map +0 -1
  212. package/dist/pages/auth-script.js +0 -185
  213. package/dist/pages/auth-script.js.map +0 -1
  214. package/dist/pages/design-tokens.d.ts +0 -86
  215. package/dist/pages/design-tokens.d.ts.map +0 -1
  216. package/dist/pages/design-tokens.js +0 -159
  217. package/dist/pages/design-tokens.js.map +0 -1
  218. package/dist/pages/did-connect-script.d.ts +0 -16
  219. package/dist/pages/did-connect-script.d.ts.map +0 -1
  220. package/dist/pages/did-connect-script.js +0 -105
  221. package/dist/pages/did-connect-script.js.map +0 -1
  222. package/dist/pages/shared-styles.d.ts +0 -6
  223. package/dist/pages/shared-styles.d.ts.map +0 -1
  224. package/dist/pages/shared-styles.js +0 -109
  225. package/dist/pages/shared-styles.js.map +0 -1
  226. package/dist/rbac.d.ts +0 -19
  227. package/dist/rbac.d.ts.map +0 -1
  228. package/dist/rbac.js +0 -76
  229. package/dist/rbac.js.map +0 -1
  230. package/dist/session-context.d.ts +0 -35
  231. package/dist/session-context.d.ts.map +0 -1
  232. package/dist/session-context.js +0 -39
  233. package/dist/session-context.js.map +0 -1
  234. package/dist/store.d.ts +0 -222
  235. package/dist/store.d.ts.map +0 -1
  236. package/dist/store.js +0 -1366
  237. package/dist/store.js.map +0 -1
  238. package/dist/team-handler.d.ts +0 -90
  239. package/dist/team-handler.d.ts.map +0 -1
  240. package/dist/team-handler.js +0 -1225
  241. package/dist/team-handler.js.map +0 -1
  242. package/dist/ticket-handler.d.ts +0 -28
  243. package/dist/ticket-handler.d.ts.map +0 -1
  244. package/dist/ticket-handler.js +0 -74
  245. package/dist/ticket-handler.js.map +0 -1
  246. package/dist/wallet-identity.d.ts +0 -32
  247. package/dist/wallet-identity.d.ts.map +0 -1
  248. package/dist/wallet-identity.js +0 -43
  249. package/dist/wallet-identity.js.map +0 -1
  250. package/dist/webauthn.d.ts +0 -65
  251. package/dist/webauthn.d.ts.map +0 -1
  252. package/dist/webauthn.js +0 -112
  253. package/dist/webauthn.js.map +0 -1
@@ -1,56 +0,0 @@
1
- /**
2
- * CSRF token — byte-for-byte compatible with blocklet-server's
3
- * `@blocklet/sdk/lib/util/csrf` so tokens we issue verify under the same scheme:
4
- *
5
- * md5 = HMAC-MD5(secret, loginToken) → base64url
6
- * signed = HMAC-SHA256(secret, md5) → base64url (input is the md5 string)
7
- * csrf = `${md5}.${signed}`
8
- *
9
- * `secret` mirrors `getCsrfSecret()` (APP_ASK || APP_SK) → our `appSk`,
10
- * falling back to `jwtSecret` when no app wallet is configured.
11
- *
12
- * WebCrypto has no MD5, so HMAC-MD5 is built on the pure-JS MD5 in gravatar.ts;
13
- * HMAC-SHA256 uses crypto.subtle.
14
- */
15
- import { md5Bytes } from "./gravatar.js";
16
- const BLOCK_SIZE = 64; // both MD5 and SHA-256 use a 64-byte block
17
- const enc = new TextEncoder();
18
- function concat(a, b) {
19
- const out = new Uint8Array(a.length + b.length);
20
- out.set(a);
21
- out.set(b, a.length);
22
- return out;
23
- }
24
- function base64url(bytes) {
25
- let bin = "";
26
- for (const b of bytes)
27
- bin += String.fromCharCode(b);
28
- return btoa(bin).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
29
- }
30
- function hmacMd5(keyBytes, msg) {
31
- let key = keyBytes;
32
- if (key.length > BLOCK_SIZE)
33
- key = md5Bytes(key);
34
- const ipad = new Uint8Array(BLOCK_SIZE);
35
- const opad = new Uint8Array(BLOCK_SIZE);
36
- for (let i = 0; i < BLOCK_SIZE; i++) {
37
- const k = key[i] ?? 0;
38
- ipad[i] = k ^ 0x36;
39
- opad[i] = k ^ 0x5c;
40
- }
41
- const inner = md5Bytes(concat(ipad, msg));
42
- return md5Bytes(concat(opad, inner));
43
- }
44
- async function hmacSha256(keyBytes, msg) {
45
- const key = await crypto.subtle.importKey("raw", keyBytes, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
46
- const sig = await crypto.subtle.sign("HMAC", key, msg);
47
- return new Uint8Array(sig);
48
- }
49
- /** CSRF token compatible with `@blocklet/sdk` csrf.sign(secret, loginToken). */
50
- export async function signCsrf(secret, loginToken) {
51
- const keyBytes = enc.encode(secret);
52
- const md5Part = base64url(hmacMd5(keyBytes, enc.encode(loginToken)));
53
- const signedPart = base64url(await hmacSha256(keyBytes, enc.encode(md5Part)));
54
- return `${md5Part}.${signedPart}`;
55
- }
56
- //# sourceMappingURL=csrf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csrf.js","sourceRoot":"","sources":["../../src/identity/csrf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,2CAA2C;AAClE,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;AAE9B,SAAS,MAAM,CAAC,CAAa,EAAE,CAAa;IAC1C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACX,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,QAAoB,EAAE,GAAe;IACpD,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,GAAG,CAAC,MAAM,GAAG,UAAU;QAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAoB,EAAE,GAAe;IAC7D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,QAAwB,EACxB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAmB,CAAC,CAAC;IACvE,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAc,EAAE,UAAkB;IAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;AACpC,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { D1Store } from "../store/d1-store.js";
2
- import type { Role } from "../types.js";
3
- export declare function processPendingInvitation(store: D1Store, userDid: string, invitationId: string | undefined, currentInstanceDid: string | undefined, ip?: string): Promise<{
4
- role?: Role;
5
- inviterDid?: string;
6
- } | undefined>;
7
- //# sourceMappingURL=invitation-util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invitation-util.d.ts","sourceRoot":"","sources":["../../src/identity/invitation-util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAiE3D"}
@@ -1,66 +0,0 @@
1
- export async function processPendingInvitation(store, userDid, invitationId, currentInstanceDid, ip) {
2
- if (!invitationId)
3
- return undefined;
4
- // 1. Validate invitation
5
- const invitation = await store.getInvitation(invitationId);
6
- if (!invitation || invitation.status !== "active" || invitation.useCount >= invitation.maxUses || new Date(invitation.expireAt) < new Date()) {
7
- return undefined;
8
- }
9
- // 2. Prevent cross-tenant privilege escalation
10
- if (invitation.instance_did && currentInstanceDid && invitation.instance_did !== currentInstanceDid) {
11
- return undefined;
12
- }
13
- // 3. Atomically consume the invitation
14
- const consumed = await store.consumeInvitationAtomically(invitationId);
15
- if (!consumed)
16
- return undefined;
17
- // 4. Apply roles
18
- const ROLE_LEVEL = { owner: 3, admin: 2, member: 1, guest: 0 };
19
- const invitedLevel = ROLE_LEVEL[invitation.role] ?? 0;
20
- let finalRole = invitation.role;
21
- if (invitation.instance_did) {
22
- // Instance-scoped invitation
23
- const existing = await store.getMembership(userDid, invitation.instance_did);
24
- if (existing) {
25
- if (invitedLevel > (ROLE_LEVEL[existing.role] ?? 0)) {
26
- await store.updateMembershipRole(userDid, invitation.instance_did, invitation.role);
27
- }
28
- else {
29
- finalRole = existing.role; // Keep higher existing role
30
- }
31
- }
32
- else {
33
- await store.createMembership(userDid, invitation.instance_did, invitation.role, invitation.inviterDid);
34
- }
35
- await store.createAuditLog({
36
- action: "user.accept_invitation",
37
- operatorDid: userDid,
38
- metadata: { invitationId, role: invitation.role },
39
- ip,
40
- instanceDid: invitation.instance_did,
41
- });
42
- }
43
- else {
44
- // System-level global invitation
45
- const user = await store.getUserByDid(userDid);
46
- const currentLevel = ROLE_LEVEL[user?.role ?? ""] ?? 0;
47
- if (invitedLevel > currentLevel) {
48
- await store.updateUserRole(userDid, invitation.role);
49
- }
50
- else {
51
- finalRole = user?.role ?? invitation.role;
52
- }
53
- await store.createAuditLog({
54
- action: "user.accept_invitation",
55
- operatorDid: userDid,
56
- metadata: { invitationId, role: invitation.role },
57
- ip,
58
- });
59
- }
60
- // 5. Link inviter
61
- if (invitation.inviterDid) {
62
- await store.setUserInviter(userDid, invitation.inviterDid);
63
- }
64
- return { role: finalRole, inviterDid: invitation.inviterDid };
65
- }
66
- //# sourceMappingURL=invitation-util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"invitation-util.js","sourceRoot":"","sources":["../../src/identity/invitation-util.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { D1Store } from "./store/d1-store.js";
2
- import type { Role } from "./types.js";
3
- /**
4
- * Resolve the effective role for a caller in an instance context.
5
- *
6
- * Priority: membership role > system admin punch-through > reject.
7
- * Returns null if caller has no access to this instance.
8
- */
9
- export declare function resolveInstanceRole(store: D1Store, callerDid: string, instanceDid: string, systemRole: string | undefined): Promise<Role | null>;
10
- //# sourceMappingURL=instance-role.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-role.d.ts","sourceRoot":"","sources":["../src/instance-role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAWtB"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Resolve the effective role for a caller in an instance context.
3
- *
4
- * Priority: membership role > system admin punch-through > reject.
5
- * Returns null if caller has no access to this instance.
6
- */
7
- export async function resolveInstanceRole(store, callerDid, instanceDid, systemRole) {
8
- // 1. Check membership first
9
- const membership = await store.getMembership(callerDid, instanceDid);
10
- if (membership)
11
- return membership.role;
12
- // 2. System owner/admin punch-through (D11)
13
- if (systemRole === "owner")
14
- return "owner";
15
- if (systemRole === "admin")
16
- return "admin";
17
- // 3. No access
18
- return null;
19
- }
20
- //# sourceMappingURL=instance-role.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-role.js","sourceRoot":"","sources":["../src/instance-role.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,SAAiB,EACjB,WAAmB,EACnB,UAA8B;IAE9B,4BAA4B;IAC5B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,IAAY,CAAC;IAE/C,4CAA4C;IAC5C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAE3C,eAAe;IACf,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/jwt.d.ts DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * Minimal JWT implementation using Web Crypto API (HMAC-SHA256).
3
- * Works in Cloudflare Workers, Deno, Node, and all modern browsers.
4
- */
5
- export declare function signJWT(payload: Record<string, unknown>, secret: string, expiresIn?: number): Promise<string>;
6
- export declare function verifyJWT(token: string, secret: string): Promise<Record<string, unknown> | null>;
7
- //# sourceMappingURL=jwt.d.ts.map
package/dist/jwt.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CA6BzC"}
package/dist/jwt.js DELETED
@@ -1,72 +0,0 @@
1
- /**
2
- * Minimal JWT implementation using Web Crypto API (HMAC-SHA256).
3
- * Works in Cloudflare Workers, Deno, Node, and all modern browsers.
4
- */
5
- const ALGORITHM = { name: "HMAC", hash: "SHA-256" };
6
- const DEFAULT_EXPIRES_IN = 7 * 24 * 60 * 60; // 7 days in seconds
7
- function base64urlEncode(data) {
8
- let binary = "";
9
- for (let i = 0; i < data.length; i++) {
10
- binary += String.fromCharCode(data[i]);
11
- }
12
- return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
13
- }
14
- function base64urlDecode(str) {
15
- const padded = str.replace(/-/g, "+").replace(/_/g, "/");
16
- const binary = atob(padded);
17
- const bytes = new Uint8Array(binary.length);
18
- for (let i = 0; i < binary.length; i++) {
19
- bytes[i] = binary.charCodeAt(i);
20
- }
21
- return bytes;
22
- }
23
- function textEncode(str) {
24
- return new TextEncoder().encode(str);
25
- }
26
- // Module-level CryptoKey cache — avoids repeated importKey for the same secret.
27
- // In a Worker isolate the JWT secret never changes, so this is always a hit after first call.
28
- const _keyCache = new Map();
29
- async function importKey(secret) {
30
- let key = _keyCache.get(secret);
31
- if (!key) {
32
- key = await crypto.subtle.importKey("raw", textEncode(secret), ALGORITHM, false, ["sign", "verify"]);
33
- _keyCache.set(secret, key);
34
- }
35
- return key;
36
- }
37
- export async function signJWT(payload, secret, expiresIn = DEFAULT_EXPIRES_IN) {
38
- const header = { alg: "HS256", typ: "JWT" };
39
- const now = Math.floor(Date.now() / 1000);
40
- const fullPayload = { ...payload, iat: now, exp: now + expiresIn };
41
- const headerB64 = base64urlEncode(textEncode(JSON.stringify(header)));
42
- const payloadB64 = base64urlEncode(textEncode(JSON.stringify(fullPayload)));
43
- const signingInput = `${headerB64}.${payloadB64}`;
44
- const key = await importKey(secret);
45
- const sig = await crypto.subtle.sign("HMAC", key, textEncode(signingInput));
46
- const signature = new Uint8Array(sig);
47
- return `${signingInput}.${base64urlEncode(signature)}`;
48
- }
49
- export async function verifyJWT(token, secret) {
50
- const parts = token.split(".");
51
- if (parts.length !== 3)
52
- return null;
53
- const [headerB64, payloadB64, signatureB64] = parts;
54
- const signingInput = `${headerB64}.${payloadB64}`;
55
- try {
56
- const key = await importKey(secret);
57
- const signature = base64urlDecode(signatureB64);
58
- const valid = await crypto.subtle.verify("HMAC", key, signature, textEncode(signingInput));
59
- if (!valid)
60
- return null;
61
- const payload = JSON.parse(new TextDecoder().decode(base64urlDecode(payloadB64)));
62
- // Check expiration
63
- if (typeof payload.exp === "number" && payload.exp < Math.floor(Date.now() / 1000)) {
64
- return null;
65
- }
66
- return payload;
67
- }
68
- catch {
69
- return null;
70
- }
71
- }
72
- //# sourceMappingURL=jwt.js.map
package/dist/jwt.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * IIFE bundle entry — re-exports core/ui classes for browser inline script.
3
- *
4
- * Built by build-login.mjs → globalName: __LoginBundle
5
- * Used by page.ts and invite-page.ts via the generated string constant.
6
- */
7
- export { LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
8
- export { FetchHttpAdapter } from '@arcblock/did-connect-core';
9
- //# sourceMappingURL=login-entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-entry.d.ts","sourceRoot":"","sources":["../src/login-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * IIFE bundle entry — re-exports core/ui classes for browser inline script.
3
- *
4
- * Built by build-login.mjs → globalName: __LoginBundle
5
- * Used by page.ts and invite-page.ts via the generated string constant.
6
- */
7
- export { LoginPage, runPasskeyAuth } from '@arcblock/did-connect-core/ui';
8
- export { FetchHttpAdapter } from '@arcblock/did-connect-core';
9
- //# sourceMappingURL=login-entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-entry.js","sourceRoot":"","sources":["../src/login-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * MembershipHandler — per-instance membership management.
3
- *
4
- * Routes: /.well-known/service/api/instances/:instanceDid/members/*
5
- * GET / → list members
6
- * POST / → create (invite)
7
- * PUT /:did/role → update role
8
- * DELETE /:did → remove
9
- *
10
- * instanceDid is extracted from URL path (D10).
11
- */
12
- import type { D1Store } from "./store/d1-store.js";
13
- import type { CallerIdentity } from "./types.js";
14
- export declare class MembershipHandler {
15
- private store;
16
- constructor(store: D1Store);
17
- /**
18
- * Handle membership routes.
19
- * instanceDid is extracted from the URL path by the caller.
20
- */
21
- fetch(request: Request, caller: CallerIdentity, instanceDid: string): Promise<Response | null>;
22
- private handleList;
23
- private handleCreate;
24
- private handleUpdateRole;
25
- private handleRemove;
26
- }
27
- //# sourceMappingURL=membership-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"membership-handler.d.ts","sourceRoot":"","sources":["../src/membership-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,OAAO;IAElC;;;OAGG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAiCb,UAAU;YAKV,YAAY;YA8BZ,gBAAgB;YAqChB,YAAY;CAsB3B"}
@@ -1,111 +0,0 @@
1
- /**
2
- * MembershipHandler — per-instance membership management.
3
- *
4
- * Routes: /.well-known/service/api/instances/:instanceDid/members/*
5
- * GET / → list members
6
- * POST / → create (invite)
7
- * PUT /:did/role → update role
8
- * DELETE /:did → remove
9
- *
10
- * instanceDid is extracted from URL path (D10).
11
- */
12
- export class MembershipHandler {
13
- store;
14
- constructor(store) {
15
- this.store = store;
16
- }
17
- /**
18
- * Handle membership routes.
19
- * instanceDid is extracted from the URL path by the caller.
20
- */
21
- async fetch(request, caller, instanceDid) {
22
- const url = new URL(request.url);
23
- const prefix = `/.well-known/service/api/instances/${instanceDid}/members`;
24
- if (!url.pathname.startsWith(prefix))
25
- return null;
26
- const rest = url.pathname.slice(prefix.length);
27
- // GET / → list
28
- if (request.method === "GET" && (rest === "" || rest === "/")) {
29
- return this.handleList(instanceDid);
30
- }
31
- // POST / → create (invite)
32
- if (request.method === "POST" && (rest === "" || rest === "/")) {
33
- return this.handleCreate(request, caller, instanceDid);
34
- }
35
- // PUT /:userDid/role → update role
36
- const roleMatch = rest.match(/^\/([^/]+)\/role$/);
37
- if (request.method === "PUT" && roleMatch) {
38
- return this.handleUpdateRole(request, caller, instanceDid, roleMatch[1]);
39
- }
40
- // DELETE /:userDid → remove
41
- const deleteMatch = rest.match(/^\/([^/]+)$/);
42
- if (request.method === "DELETE" && deleteMatch) {
43
- return this.handleRemove(caller, instanceDid, deleteMatch[1]);
44
- }
45
- return null;
46
- }
47
- async handleList(instanceDid) {
48
- const members = await this.store.listMemberships(instanceDid);
49
- return Response.json({ ok: true, members });
50
- }
51
- async handleCreate(request, caller, instanceDid) {
52
- const body = (await request.json());
53
- if (!body.userDid) {
54
- return Response.json({ ok: false, error: "Required: userDid" }, { status: 400 });
55
- }
56
- const role = body.role ?? "member";
57
- // Check if already exists
58
- const existing = await this.store.getMembership(body.userDid, instanceDid);
59
- if (existing) {
60
- return Response.json({ ok: false, error: "Membership already exists" }, { status: 409 });
61
- }
62
- await this.store.createMembership(body.userDid, instanceDid, role, caller.did);
63
- await this.store.createAuditLog({
64
- action: "membership.create",
65
- operatorDid: caller.did,
66
- targetDid: body.userDid,
67
- metadata: { instanceDid, role },
68
- });
69
- return Response.json({ ok: true }, { status: 201 });
70
- }
71
- async handleUpdateRole(request, caller, instanceDid, targetDid) {
72
- const body = (await request.json());
73
- if (!body.role) {
74
- return Response.json({ ok: false, error: "Required: role" }, { status: 400 });
75
- }
76
- // Check caller's own membership role
77
- const callerMembership = await this.store.getMembership(caller.did, instanceDid);
78
- if (!callerMembership ||
79
- (callerMembership.role !== "owner" && callerMembership.role !== "admin")) {
80
- return Response.json({ ok: false, error: "Insufficient permissions" }, { status: 403 });
81
- }
82
- // Cannot downgrade self
83
- if (targetDid === caller.did) {
84
- return Response.json({ ok: false, error: "Cannot change own role" }, { status: 400 });
85
- }
86
- await this.store.updateMembershipRole(targetDid, instanceDid, body.role);
87
- await this.store.createAuditLog({
88
- action: "membership.update_role",
89
- operatorDid: caller.did,
90
- targetDid,
91
- metadata: { instanceDid, role: body.role },
92
- });
93
- return Response.json({ ok: true });
94
- }
95
- async handleRemove(caller, instanceDid, targetDid) {
96
- // Cannot remove owner
97
- const target = await this.store.getMembership(targetDid, instanceDid);
98
- if (target?.role === "owner") {
99
- return Response.json({ ok: false, error: "Cannot remove owner" }, { status: 400 });
100
- }
101
- await this.store.deleteMembership(targetDid, instanceDid);
102
- await this.store.createAuditLog({
103
- action: "membership.remove",
104
- operatorDid: caller.did,
105
- targetDid,
106
- metadata: { instanceDid },
107
- });
108
- return Response.json({ ok: true });
109
- }
110
- }
111
- //# sourceMappingURL=membership-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"membership-handler.js","sourceRoot":"","sources":["../src/membership-handler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * OAuth callback page — postMessage bridge for popup OAuth flow.
3
- *
4
- * When OAuth completes, the provider redirects here. This page sends
5
- * the authorization response back to the opener window via postMessage,
6
- * then closes itself.
7
- */
8
- export declare function renderOAuthCallbackPage(origin: string): string;
9
- //# sourceMappingURL=oauth-callback-page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-callback-page.d.ts","sourceRoot":"","sources":["../src/oauth-callback-page.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAsB9D"}
@@ -1,31 +0,0 @@
1
- /**
2
- * OAuth callback page — postMessage bridge for popup OAuth flow.
3
- *
4
- * When OAuth completes, the provider redirects here. This page sends
5
- * the authorization response back to the opener window via postMessage,
6
- * then closes itself.
7
- */
8
- export function renderOAuthCallbackPage(origin) {
9
- return `<!DOCTYPE html>
10
- <html><head><style>
11
- body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0b;color:#9394a1;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px}
12
- .wrap{text-align:center}
13
- @keyframes spin{to{transform:rotate(360deg)}}
14
- .spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,0.15);border-top-color:#9280ff;border-radius:50%;animation:spin .6s linear infinite;margin-bottom:12px}
15
- </style></head><body>
16
- <div class="wrap"><div class="spinner"></div><div>Completing sign in...</div></div>
17
- <script>
18
- var params = new URLSearchParams(location.search);
19
- if (window.opener) {
20
- window.opener.postMessage({
21
- type: 'authorization_response',
22
- response: { code: params.get('code'), state: params.get('state') }
23
- }, '${origin}');
24
- setTimeout(function() { window.close(); }, 300);
25
- } else {
26
- document.querySelector('.wrap div:last-child').textContent = 'You may close this window.';
27
- }
28
- </script>
29
- </body></html>`;
30
- }
31
- //# sourceMappingURL=oauth-callback-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-callback-page.js","sourceRoot":"","sources":["../src/oauth-callback-page.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO;;;;;;;;;;;;;;YAcG,MAAM;;;;;;eAMH,CAAC;AAChB,CAAC"}
@@ -1,72 +0,0 @@
1
- /**
2
- * OAuthHandler — OAuth login/bind/unbind for Cloudflare Workers.
3
- *
4
- * Supports pluggable adapters (Google, GitHub, Apple, etc.).
5
- * OAuth configs are stored in D1 settings table as `oauth:{provider}` JSON.
6
- *
7
- * Routes (under /.well-known/service):
8
- * GET /api/oauth/configs — list configured providers
9
- * GET /api/oauth/:provider/login — redirect to OAuth provider
10
- * GET /oauth/callback/:provider — handle OAuth callback
11
- * POST /oauth/callback/:provider — handle Apple POST callback
12
- * POST /api/oauth/login — API-based code exchange + login
13
- * POST /api/oauth/bind — bind OAuth to existing account
14
- * POST /api/oauth/unbind — unbind OAuth from account
15
- */
16
- import type { AuthEntrypointInterface } from "./identity/auth-entrypoint.js";
17
- import type { OAuthAdapter } from "./oauth-adapters/types.js";
18
- import type { D1Store } from "./store/d1-store.js";
19
- export interface OAuthHandlerOptions {
20
- store: D1Store;
21
- appSk: string;
22
- jwtSecret: string;
23
- jwtExpiresIn: number;
24
- cookieName: string;
25
- rpID?: string | ((request: Request) => string);
26
- /** KV namespace for JWKS caching and OAuth state CSRF. */
27
- kv?: KVNamespace;
28
- /** Service Binding to master Worker (federated mode). */
29
- authMaster?: AuthEntrypointInterface;
30
- /** Master site OAuth callback origin (federated mode). */
31
- masterOAuthOrigin?: string;
32
- /** Instance DID for settings isolation. Falls back to "_global_" if not set. */
33
- instanceDid?: string;
34
- }
35
- export declare class OAuthHandler {
36
- private options;
37
- constructor(options: OAuthHandlerOptions);
38
- /** Register additional adapters (for Phase 2e providers). */
39
- static registerAdapter(adapter: OAuthAdapter): void;
40
- /**
41
- * Handle an incoming request. Returns Response if matched, null otherwise.
42
- */
43
- fetch(request: Request): Promise<Response | null>;
44
- /** GET /api/oauth/configs — list enabled providers (public, no secrets). */
45
- private handleGetConfigs;
46
- /** GET /api/oauth/:provider/login — redirect to OAuth authorization URL. */
47
- private handleLogin;
48
- /** GET/POST /oauth/callback/:provider — handle OAuth callback. */
49
- private handleCallback;
50
- /** POST /api/oauth/login — exchange code for JWT cookie. */
51
- private handleApiLogin;
52
- /** POST /api/oauth/bind — bind OAuth provider to current user. */
53
- private handleBind;
54
- /** POST /api/oauth/unbind — unbind OAuth provider from current user. */
55
- private handleUnbind;
56
- /**
57
- * Parse request body, resolve provider config/adapter, and exchange OAuth code.
58
- * Returns a Response on validation/exchange error, or the resolved result.
59
- */
60
- private exchangeOAuthCode;
61
- /** Resolve the instance DID to use for settings lookup. */
62
- private get instanceDid();
63
- /** Load all OAuth configs from D1 settings. */
64
- private loadAllConfigs;
65
- /** Load a single provider's config from D1 settings. */
66
- private loadProviderConfig;
67
- /** Build the callback URL for a provider. In federated mode, uses master origin. */
68
- private getCallbackUrl;
69
- /** Verify JWT from cookie — returns caller identity or null. */
70
- private verifyCaller;
71
- }
72
- //# sourceMappingURL=oauth-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-handler.d.ts","sourceRoot":"","sources":["../src/oauth-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAU7E,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,2BAA2B,CAAC;AAEjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;IAC/C,0DAA0D;IAC1D,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAaD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAsB;gBAEzB,OAAO,EAAE,mBAAmB;IAIxC,6DAA6D;IAC7D,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAInD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA4CvD,4EAA4E;YAC9D,gBAAgB;IAkB9B,4EAA4E;YAC9D,WAAW;IAgDzB,kEAAkE;YACpD,cAAc;IA+C5B,4DAA4D;YAC9C,cAAc;IAwE5B,kEAAkE;YACpD,UAAU;IA+BxB,wEAAwE;YAC1D,YAAY;IAuC1B;;;OAGG;YACW,iBAAiB;IA2C/B,2DAA2D;IAC3D,OAAO,KAAK,WAAW,GAEtB;IAED,+CAA+C;YACjC,cAAc;IAgB5B,wDAAwD;YAC1C,kBAAkB;IAUhC,oFAAoF;IACpF,OAAO,CAAC,cAAc;IAKtB,gEAAgE;YAClD,YAAY;CAS3B"}