@ibgib/node-gib 0.0.19 → 0.0.21

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 (58) hide show
  1. package/dist/email/verify/email-verify-helpers.d.mts +6 -1
  2. package/dist/email/verify/email-verify-helpers.d.mts.map +1 -1
  3. package/dist/email/verify/email-verify-helpers.mjs +6 -2
  4. package/dist/email/verify/email-verify-helpers.mjs.map +1 -1
  5. package/dist/identity/sso/sso-custodian-service.d.mts +8 -0
  6. package/dist/identity/sso/sso-custodian-service.d.mts.map +1 -1
  7. package/dist/identity/sso/sso-custodian-service.mjs +126 -77
  8. package/dist/identity/sso/sso-custodian-service.mjs.map +1 -1
  9. package/dist/serve-gib/handlers/api/email/email-verification-code.handler.d.mts.map +1 -1
  10. package/dist/serve-gib/handlers/api/email/email-verification-code.handler.mjs +50 -4
  11. package/dist/serve-gib/handlers/api/email/email-verification-code.handler.mjs.map +1 -1
  12. package/dist/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.handler.d.mts +42 -0
  13. package/dist/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.handler.d.mts.map +1 -0
  14. package/dist/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.handler.mjs +201 -0
  15. package/dist/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.handler.mjs.map +1 -0
  16. package/dist/serve-gib/handlers/api/identity/keystone-custodian-register-delegate.handler.d.mts.map +1 -1
  17. package/dist/serve-gib/handlers/api/identity/keystone-custodian-register-delegate.handler.mjs +5 -1
  18. package/dist/serve-gib/handlers/api/identity/keystone-custodian-register-delegate.handler.mjs.map +1 -1
  19. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts.map +1 -1
  20. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs +6 -1
  21. package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs.map +1 -1
  22. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.d.mts.map +1 -1
  23. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs +2 -11
  24. package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs.map +1 -1
  25. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts.map +1 -1
  26. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs +66 -26
  27. package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs.map +1 -1
  28. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts.map +1 -1
  29. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs +3 -10
  30. package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs.map +1 -1
  31. package/dist/serve-gib/identity-index/identity-index-service.d.mts +5 -1
  32. package/dist/serve-gib/identity-index/identity-index-service.d.mts.map +1 -1
  33. package/dist/serve-gib/identity-index/identity-index-service.mjs +44 -20
  34. package/dist/serve-gib/identity-index/identity-index-service.mjs.map +1 -1
  35. package/dist/serve-gib/index.d.mts +1 -0
  36. package/dist/serve-gib/index.d.mts.map +1 -1
  37. package/dist/serve-gib/index.mjs +3 -0
  38. package/dist/serve-gib/index.mjs.map +1 -1
  39. package/dist/serve-gib/path-constants.d.mts +4 -0
  40. package/dist/serve-gib/path-constants.d.mts.map +1 -1
  41. package/dist/serve-gib/path-constants.mjs +4 -0
  42. package/dist/serve-gib/path-constants.mjs.map +1 -1
  43. package/e2e/identity-custodian-lifecycle.e2e.md +37 -0
  44. package/package.json +2 -2
  45. package/src/email/verify/email-verify-helpers.mts +13 -2
  46. package/src/identity/sso/sso-custodian-service.mts +129 -84
  47. package/src/serve-gib/handlers/api/email/email-verification-code.handler.mts +52 -5
  48. package/src/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.handler.mts +252 -0
  49. package/src/serve-gib/handlers/api/identity/keystone-custodian-add-master-password.respec.mts +167 -0
  50. package/src/serve-gib/handlers/api/identity/keystone-custodian-register-delegate.handler.mts +6 -1
  51. package/src/serve-gib/handlers/api/identity/keystone-custodian-register-delegate.respec.mts +2 -2
  52. package/src/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +6 -1
  53. package/src/serve-gib/handlers/api/keystone/sso-config.handler.mts +2 -12
  54. package/src/serve-gib/handlers/api/keystone/sso-link.handler.mts +61 -26
  55. package/src/serve-gib/handlers/api/keystone/sso-login.handler.mts +3 -11
  56. package/src/serve-gib/identity-index/identity-index-service.mts +39 -19
  57. package/src/serve-gib/index.mts +3 -0
  58. package/src/serve-gib/path-constants.mts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sso-login.handler.mjs","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/keystone/sso-login.handler.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sso-login.handler.mjs","sourceRoot":"","sources":["../../../../../src/serve-gib/handlers/api/keystone/sso-login.handler.mts"],"names":[],"mappings":"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"}
@@ -54,5 +54,9 @@ export declare class IdentityIndexService {
54
54
  /**
55
55
  * Singleton factory getter for the IdentityIndexService.
56
56
  */
57
- export declare function getIdentityIndexService(): IdentityIndexService;
57
+ export declare function getIdentityIndexService(opts?: IdentityIndexServiceOptions): IdentityIndexService;
58
+ /**
59
+ * Resets the cached singleton instance (useful during testing across different data directories).
60
+ */
61
+ export declare function resetIdentityIndexService(): void;
58
62
  //# sourceMappingURL=identity-index-service.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-index-service.d.mts","sourceRoot":"","sources":["../../../src/serve-gib/identity-index/identity-index-service.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAIxH;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,EAAE,CAAoC;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAS;IAErB,YAAY,OAAO,CAAC,EAAE,2BAA2B,EAKhD;IA6CD;;;;OAIG;IACG,kBAAkB,CAAC,EACrB,KAAK,EACL,OAAO,EACP,cAAc,GACjB,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,cAAc,CAAC,EAAE,SAAS,CAAC;KAC9B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyBpC;IAED;;;OAGG;IACG,qBAAqB,CAAC,EACxB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,cAAc,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAQ5F;IAED;;;OAGG;IACG,aAAa,CAAC,EAChB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAmB3C;IAED;;;OAGG;IACG,mBAAmB,CAAC,EACtB,SAAS,GACZ,EAAE;QACC,SAAS,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAwB3C;IAED;;;OAGG;IACG,oBAAoB,CAAC,EACvB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB;CACJ;AAID;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,CAK9D"}
1
+ {"version":3,"file":"identity-index-service.d.mts","sourceRoot":"","sources":["../../../src/serve-gib/identity-index/identity-index-service.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAIxH;;GAEG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,EAAE,CAAoC;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAS;IAErB,YAAY,OAAO,CAAC,EAAE,2BAA2B,EAKhD;IA6CD;;;;OAIG;IACG,kBAAkB,CAAC,EACrB,KAAK,EACL,OAAO,EACP,cAAc,GACjB,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,cAAc,CAAC,EAAE,SAAS,CAAC;KAC9B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAmCpC;IAED;;;OAGG;IACG,qBAAqB,CAAC,EACxB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,cAAc,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAQ5F;IAED;;;OAGG;IACG,aAAa,CAAC,EAChB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAmB3C;IAED;;;OAGG;IACG,mBAAmB,CAAC,EACtB,SAAS,GACZ,EAAE;QACC,SAAS,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAwB3C;IAED;;;OAGG;IACG,oBAAoB,CAAC,EACvB,KAAK,GACR,EAAE;QACC,KAAK,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB;CACJ;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,2BAA2B,GAAG,oBAAoB,CAQhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
@@ -64,30 +64,45 @@ export class IdentityIndexService {
64
64
  * Throws `duplicate_identity_409` error if email is already registered.
65
65
  */
66
66
  async registerEmailIndex({ email, tjpAddr, primaryTjpAddr, }) {
67
- const targetAddr = tjpAddr || primaryTjpAddr;
68
- if (!targetAddr) {
69
- throw new Error('Either tjpAddr or primaryTjpAddr must be provided. (E: 62f15851b9a8c8d718279ab84e426826)');
70
- }
71
- const emailHash = await getIdentityEmailHash({ email, salt: this.salt });
72
- const { folderPath, filePath } = getShardedIndexPath({
73
- baseDir: this.baseDir,
74
- emailHash
75
- });
76
- await fs.mkdir(folderPath, { recursive: true });
77
- const record = {
78
- tjpAddr: targetAddr,
79
- createdAt: Date.now(),
80
- };
67
+ const lc = `${this.lc}[${this.registerEmailIndex.name}]`;
81
68
  try {
82
- await fs.writeFile(filePath, JSON.stringify(record, null, 2), { flag: 'wx' });
83
- return { emailHash, filePath, record };
69
+ if (logalot) {
70
+ console.log(`${lc} starting... (I: 5d1728a955657616a8cf6ce8b5afa226)`);
71
+ }
72
+ const targetAddr = tjpAddr || primaryTjpAddr;
73
+ if (!targetAddr) {
74
+ throw new Error('Either tjpAddr or primaryTjpAddr must be provided. (E: 62f15851b9a8c8d718279ab84e426826)');
75
+ }
76
+ const emailHash = await getIdentityEmailHash({ email, salt: this.salt });
77
+ const { folderPath, filePath } = getShardedIndexPath({
78
+ baseDir: this.baseDir,
79
+ emailHash
80
+ });
81
+ await fs.mkdir(folderPath, { recursive: true });
82
+ const record = {
83
+ tjpAddr: targetAddr,
84
+ createdAt: Date.now(),
85
+ };
86
+ try {
87
+ await fs.writeFile(filePath, JSON.stringify(record, null, 2), { flag: 'wx' });
88
+ return { emailHash, filePath, record };
89
+ }
90
+ catch (error) {
91
+ if (error.code === 'EEXIST') {
92
+ throw new Error(`Email is already registered (E: duplicate_identity_409)`);
93
+ }
94
+ throw error;
95
+ }
84
96
  }
85
97
  catch (error) {
86
- if (error.code === 'EEXIST') {
87
- throw new Error(`Email is already registered (E: duplicate_identity_409)`);
88
- }
98
+ console.error(`${lc} ${extractErrorMsg(error)}`);
89
99
  throw error;
90
100
  }
101
+ finally {
102
+ if (logalot) {
103
+ console.log(`${lc} complete.`);
104
+ }
105
+ }
91
106
  }
92
107
  /**
93
108
  * Retrieves the registered identity info for an email address.
@@ -193,10 +208,19 @@ let _identityIndexService;
193
208
  /**
194
209
  * Singleton factory getter for the IdentityIndexService.
195
210
  */
196
- export function getIdentityIndexService() {
211
+ export function getIdentityIndexService(opts) {
212
+ if (opts) {
213
+ return new IdentityIndexService(opts);
214
+ }
197
215
  if (!_identityIndexService) {
198
216
  _identityIndexService = new IdentityIndexService();
199
217
  }
200
218
  return _identityIndexService;
201
219
  }
220
+ /**
221
+ * Resets the cached singleton instance (useful during testing across different data directories).
222
+ */
223
+ export function resetIdentityIndexService() {
224
+ _identityIndexService = undefined;
225
+ }
202
226
  //# sourceMappingURL=identity-index-service.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-index-service.mjs","sourceRoot":"","sources":["../../../src/serve-gib/identity-index/identity-index-service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-index-service.mjs","sourceRoot":"","sources":["../../../src/serve-gib/identity-index/identity-index-service.mts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export * from './handlers/api/keystone/sso-link.handler.mjs';
33
33
  export * from './handlers/api/keystone/sso-login.handler.mjs';
34
34
  export * from './handlers/api/identity/keystone-custodian-genesis.handler.mjs';
35
35
  export * from './handlers/api/identity/keystone-custodian-register-delegate.handler.mjs';
36
+ export * from './handlers/api/identity/keystone-custodian-add-master-password.handler.mjs';
36
37
  export * from './handlers/api/email/email-inbound.handler.mjs';
37
38
  export * from './handlers/api/email/email-outbound.handler.mjs';
38
39
  export * from './handlers/api/email/email-verification-code.handler.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/serve-gib/index.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,kDAAkD,CAAC;AACjE,cAAc,qDAAqD,CAAC;AACpE,cAAc,0DAA0D,CAAC;AACzE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gEAAgE,CAAC;AAC/E,cAAc,0EAA0E,CAAC;AACzF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,0DAA0D,CAAC;AACzE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoB9C,MAAM,WAAW,uBAAuB;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,GAAE,uBAA4B,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CA0B3G"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/serve-gib/index.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,6CAA6C,CAAC;AAG5D,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,kDAAkD,CAAC;AACjE,cAAc,qDAAqD,CAAC;AACpE,cAAc,0DAA0D,CAAC;AACzE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gEAAgE,CAAC;AAC/E,cAAc,0EAA0E,CAAC;AACzF,cAAc,4EAA4E,CAAC;AAC3F,cAAc,gDAAgD,CAAC;AAC/D,cAAc,iDAAiD,CAAC;AAChE,cAAc,0DAA0D,CAAC;AACzE,cAAc,4DAA4D,CAAC;AAC3E,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAqB9C,MAAM,WAAW,uBAAuB;IACpC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,GAAE,uBAA4B,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CA2B3G"}
@@ -34,6 +34,7 @@ export * from './handlers/api/keystone/sso-link.handler.mjs';
34
34
  export * from './handlers/api/keystone/sso-login.handler.mjs';
35
35
  export * from './handlers/api/identity/keystone-custodian-genesis.handler.mjs';
36
36
  export * from './handlers/api/identity/keystone-custodian-register-delegate.handler.mjs';
37
+ export * from './handlers/api/identity/keystone-custodian-add-master-password.handler.mjs';
37
38
  export * from './handlers/api/email/email-inbound.handler.mjs';
38
39
  export * from './handlers/api/email/email-outbound.handler.mjs';
39
40
  export * from './handlers/api/email/email-verification-code.handler.mjs';
@@ -56,6 +57,7 @@ import { SsoLoginHandler } from './handlers/api/keystone/sso-login.handler.mjs';
56
57
  import { SsoConfigHandler } from './handlers/api/keystone/sso-config.handler.mjs';
57
58
  import { KeystoneCustodianGenesisHandler } from './handlers/api/identity/keystone-custodian-genesis.handler.mjs';
58
59
  import { KeystoneCustodianRegisterDelegateHandler } from './handlers/api/identity/keystone-custodian-register-delegate.handler.mjs';
60
+ import { KeystoneCustodianAddMasterPasswordHandler } from './handlers/api/identity/keystone-custodian-add-master-password.handler.mjs';
59
61
  import { EmailInboundHandler } from './handlers/api/email/email-inbound.handler.mjs';
60
62
  import { EmailOutboundHandler } from './handlers/api/email/email-outbound.handler.mjs';
61
63
  import { EmailVerificationCodeHandler } from './handlers/api/email/email-verification-code.handler.mjs';
@@ -79,6 +81,7 @@ export function getStandardServeGibHandlers(opts = {}) {
79
81
  new SsoConfigHandler(),
80
82
  new KeystoneCustodianGenesisHandler(),
81
83
  new KeystoneCustodianRegisterDelegateHandler(),
84
+ new KeystoneCustodianAddMasterPasswordHandler(),
82
85
  new EmailInboundHandler(),
83
86
  new EmailOutboundHandler(),
84
87
  new EmailVerificationCodeHandler(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/serve-gib/index.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/serve-gib/index.mts"],"names":[],"mappings":"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"}
@@ -114,6 +114,10 @@ export declare const API_PATH_REGEXES: {
114
114
  * /api/identity/custodian/register-delegate
115
115
  */
116
116
  KEYSTONE_CUSTODIAN_REGISTER_DELEGATE: RegExp;
117
+ /**
118
+ * /api/identity/custodian/add-master-password
119
+ */
120
+ KEYSTONE_CUSTODIAN_ADD_MASTER_PASSWORD: RegExp;
117
121
  };
118
122
  export declare const VALID_STATIC_PATH_REGEX: RegExp;
119
123
  //# sourceMappingURL=path-constants.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-constants.d.mts","sourceRoot":"","sources":["../../src/serve-gib/path-constants.mts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;IACzB;;OAEG;IACH,MAAM;IAEN;;OAEG;IACH,WAAW;IAEX;;OAEG;IACH,UAAU;IAEV;;OAEG;IACH,QAAQ;IAER;;OAEG;IACH,aAAa;IAEb;;OAEG;IACH,UAAU;IAEV;;OAEG;IACH,eAAe;IAEf;;;;;;;;OAQG;IACH,gBAAgB;IAEhB;;OAEG;IACH,eAAe;IAEf;;OAEG;IACH,oBAAoB;IAEpB;;;;;;;;;;;OAWG;IACH,aAAa;IACb;;OAEG;IACH,OAAO;IACP;;OAEG;IACH,iBAAiB;IACjB;;OAEG;IACH,kBAAkB;IAClB;;OAEG;IACH,mBAAmB;IACnB;;OAEG;IACH,aAAa;IACb;;OAEG;IACH,UAAU;IACV;;OAEG;IACH,uBAAuB;IAEvB;;OAEG;IACH,YAAY;IACZ,iBAAiB;IAEjB;;OAEG;IACH,0BAA0B;IAE1B;;OAEG;IACH,oCAAoC;CACvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAA4B,CAAC"}
1
+ {"version":3,"file":"path-constants.d.mts","sourceRoot":"","sources":["../../src/serve-gib/path-constants.mts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;IACzB;;OAEG;IACH,MAAM;IAEN;;OAEG;IACH,WAAW;IAEX;;OAEG;IACH,UAAU;IAEV;;OAEG;IACH,QAAQ;IAER;;OAEG;IACH,aAAa;IAEb;;OAEG;IACH,UAAU;IAEV;;OAEG;IACH,eAAe;IAEf;;;;;;;;OAQG;IACH,gBAAgB;IAEhB;;OAEG;IACH,eAAe;IAEf;;OAEG;IACH,oBAAoB;IAEpB;;;;;;;;;;;OAWG;IACH,aAAa;IACb;;OAEG;IACH,OAAO;IACP;;OAEG;IACH,iBAAiB;IACjB;;OAEG;IACH,kBAAkB;IAClB;;OAEG;IACH,mBAAmB;IACnB;;OAEG;IACH,aAAa;IACb;;OAEG;IACH,UAAU;IACV;;OAEG;IACH,uBAAuB;IAEvB;;OAEG;IACH,YAAY;IACZ,iBAAiB;IAEjB;;OAEG;IACH,0BAA0B;IAE1B;;OAEG;IACH,oCAAoC;IAEpC;;OAEG;IACH,sCAAsC;CACzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAA4B,CAAC"}
@@ -119,6 +119,10 @@ export const API_PATH_REGEXES = {
119
119
  * /api/identity/custodian/register-delegate
120
120
  */
121
121
  KEYSTONE_CUSTODIAN_REGISTER_DELEGATE: /^\/api\/identity\/custodian\/register-delegate\/?$/i,
122
+ /**
123
+ * /api/identity/custodian/add-master-password
124
+ */
125
+ KEYSTONE_CUSTODIAN_ADD_MASTER_PASSWORD: /^\/api\/identity\/custodian\/add-master-password\/?$/i,
122
126
  };
123
127
  export const VALID_STATIC_PATH_REGEX = /^\/[a-zA-Z0-9\-_\.\/]*$/;
124
128
  //# sourceMappingURL=path-constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-constants.mjs","sourceRoot":"","sources":["../../src/serve-gib/path-constants.mts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAO,yBAAyB;IACtC,MAAM,EAAO,uBAAuB;IACpC,IAAI,EAAS,gBAAgB;IAC7B,UAAU,EAAG,wCAAwC;CACxD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B;;OAEG;IACH,MAAM,EAAE,oBAAoB;IAE5B;;OAEG;IACH,WAAW,EAAE,oFAAoF;IAEjG;;OAEG;IACH,UAAU,EAAE,6EAA6E;IAEzF;;OAEG;IACH,QAAQ,EAAE,sBAAsB;IAEhC;;OAEG;IACH,aAAa,EAAE,mDAAmD;IAElE;;OAEG;IACH,UAAU,EAAE,mBAAmB;IAE/B;;OAEG;IACH,eAAe,EAAE,2DAA2D;IAE5E;;;;;;;;OAQG;IACH,gBAAgB,EAAE,+BAA+B;IAEjD;;OAEG;IACH,eAAe,EAAE,8BAA8B;IAE/C;;OAEG;IACH,oBAAoB,EAAE,mCAAmC;IAEzD;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,4BAA4B;IAC3C;;OAEG;IACH,OAAO,EAAE,mDAAmD;IAC5D;;OAEG;IACH,iBAAiB,EAAE,iCAAiC;IACpD;;OAEG;IACH,kBAAkB,EAAE,kCAAkC;IACtD;;OAEG;IACH,mBAAmB,EAAE,mCAAmC;IACxD;;OAEG;IACH,aAAa,EAAE,4BAA4B;IAC3C;;OAEG;IACH,UAAU,EAAE,yBAAyB;IACrC;;OAEG;IACH,uBAAuB,EAAE,sCAAsC;IAE/D;;OAEG;IACH,YAAY,EAAE,2BAA2B;IACzC,iBAAiB,EAAE,gCAAgC;IAEnD;;OAEG;IACH,0BAA0B,EAAE,2CAA2C;IAEvE;;OAEG;IACH,oCAAoC,EAAE,qDAAqD;CAC9F,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"path-constants.mjs","sourceRoot":"","sources":["../../src/serve-gib/path-constants.mts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,MAAM,EAAO,yBAAyB;IACtC,MAAM,EAAO,uBAAuB;IACpC,IAAI,EAAS,gBAAgB;IAC7B,UAAU,EAAG,wCAAwC;CACxD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B;;OAEG;IACH,MAAM,EAAE,oBAAoB;IAE5B;;OAEG;IACH,WAAW,EAAE,oFAAoF;IAEjG;;OAEG;IACH,UAAU,EAAE,6EAA6E;IAEzF;;OAEG;IACH,QAAQ,EAAE,sBAAsB;IAEhC;;OAEG;IACH,aAAa,EAAE,mDAAmD;IAElE;;OAEG;IACH,UAAU,EAAE,mBAAmB;IAE/B;;OAEG;IACH,eAAe,EAAE,2DAA2D;IAE5E;;;;;;;;OAQG;IACH,gBAAgB,EAAE,+BAA+B;IAEjD;;OAEG;IACH,eAAe,EAAE,8BAA8B;IAE/C;;OAEG;IACH,oBAAoB,EAAE,mCAAmC;IAEzD;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,4BAA4B;IAC3C;;OAEG;IACH,OAAO,EAAE,mDAAmD;IAC5D;;OAEG;IACH,iBAAiB,EAAE,iCAAiC;IACpD;;OAEG;IACH,kBAAkB,EAAE,kCAAkC;IACtD;;OAEG;IACH,mBAAmB,EAAE,mCAAmC;IACxD;;OAEG;IACH,aAAa,EAAE,4BAA4B;IAC3C;;OAEG;IACH,UAAU,EAAE,yBAAyB;IACrC;;OAEG;IACH,uBAAuB,EAAE,sCAAsC;IAE/D;;OAEG;IACH,YAAY,EAAE,2BAA2B;IACzC,iBAAiB,EAAE,gCAAgC;IAEnD;;OAEG;IACH,0BAA0B,EAAE,2CAA2C;IAEvE;;OAEG;IACH,oCAAoC,EAAE,qDAAqD;IAE3F;;OAEG;IACH,sCAAsC,EAAE,uDAAuD;CAClG,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAC"}
@@ -91,3 +91,40 @@ Attempt to re-submit a previously consumed `custodianReqs` payload to `POST /api
91
91
  3. Verify rejection outcome:
92
92
  - Server rejects the request with **HTTP 409 Conflict**:
93
93
  `"Custodian requirements payload has already been used. Nonce single-turn reservation violation."`
94
+
95
+
96
+ ### Phase 4: Keystone Details Inspection & Sovereign Elevation
97
+ Inspect the identity in `<ibgib-keystone-details>` to verify that capabilities, device badges, and password options adapt dynamically to the custodial state, and add a sovereign master password.
98
+
99
+ #### Steps
100
+ 1. In Browser 1, open `<ibgib-identity-header>` and click the active identity to open `<ibgib-keystone-details>`.
101
+ 2. Verify dynamic UI elements:
102
+ - **Password Card**: Displays **"Add Master Password"** (with New Password and Confirm Password inputs; Current Password is hidden).
103
+ - **SSO Status Card**: Displays `"Google (Primary Account) ✅"` or provider primary indicator.
104
+ - **Registered Delegates Table**:
105
+ - Browser 1's delegate displays the green **"This Device"** badge.
106
+ - Browser 2's delegate (from Phase 2) displays the blue **"Remote Device"** badge.
107
+ 3. Click **View Details** on Browser 2's remote delegate:
108
+ - Verify modal opens showing remote device metadata without throwing or failing.
109
+ 4. In the **Add Master Password** card, enter `<E2E_TEST_NEW_PASSWORD>` in New Password and Confirm Password inputs, and click **Add Master Password**.
110
+ 5. Verify outcomes:
111
+ - Client adds a sovereign `manage` pool via `keystoneService.addPools()`, evolves the primary identity, and syncs to server.
112
+ - The password card updates dynamically to **"Change Password"** (now displaying Current Password input).
113
+ - Identity capability transitions from Custodial to **Hybrid**.
114
+
115
+
116
+ ### Phase 5: Silent Background Sync & Expired Session Renewal ("Sign Back In")
117
+ Verify that daily background sync operations execute silently via stored IndexedDB delegate tokens ($S_D$), and verify that expired sync delegates cleanly pause sync and prompt the user to "Sign Back In".
118
+
119
+ #### Steps
120
+ 1. In Browser 1, click **Check for Updates** and **Update Identity**:
121
+ - Verify sync succeeds silently in the background without prompting for master passwords.
122
+ 2. Simulate delegate expiration / session expiry:
123
+ - Option A: Clear the stored device delegate secret from IndexedDB (`space_gib_db` -> `space_gib_store` -> delete `ibgib_device_delegate_secret_<primaryTjpAddr>`).
124
+ - Option B: Test with a short TTL development profile (`sync-profile.dev.json` with `defaultTtlSeconds: 10`) and wait for expiration.
125
+ 3. Trigger a sync check or page refresh:
126
+ - Verify `KeystoneSyncService` detects the expired / missing delegate token and fires `EVENT_IBGIB_IDENTITY_RENEWAL_REQUIRED`.
127
+ - Verify the UI prompts the user to **"Sign Back In"**.
128
+ 4. Re-authenticate via Email OTP (or Google SSO / Master Password):
129
+ - Verify single-turn re-authentication generates and registers a fresh outward sync delegate ($D_{\text{device}}$).
130
+ - Verify the new secret ($S_D$) is stored in IndexedDB and silent background sync resumes seamlessly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/node-gib",
3
- "version": "0.0.19",
3
+ "version": "0.0.21",
4
4
  "description": "Node and server-specific ibGib code, i.e., things that don't run in the browser.",
5
5
  "funding": {
6
6
  "type": "individual",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@ibgib/helper-gib": "^0.0.37",
28
28
  "@ibgib/ts-gib": "^0.5.34",
29
- "@ibgib/core-gib": "^0.1.74",
29
+ "@ibgib/core-gib": "^0.1.76",
30
30
  "@ibgib/encrypt-gib": "^0.3.1"
31
31
  },
32
32
  "devDependencies": {
@@ -236,13 +236,18 @@ export interface SavePendingCodeRecordOptions {
236
236
  code: string;
237
237
  maxAttempts?: number;
238
238
  ttlMs?: number;
239
+ resendCount?: number;
240
+ attempts?: number;
239
241
  }
240
242
 
241
243
  export interface PendingCodeRecord {
242
244
  codeHash: string;
245
+ rawCode?: string;
243
246
  attempts: number;
244
247
  maxAttempts: number;
245
248
  expiresAt: number;
249
+ dispatchedAt: number;
250
+ resendCount: number;
246
251
  }
247
252
 
248
253
  /**
@@ -253,16 +258,22 @@ export async function savePendingCodeRecord({
253
258
  code,
254
259
  maxAttempts = 5,
255
260
  ttlMs = DEFAULT_MAGIC_LINK_TTL_MS,
256
- }: SavePendingCodeRecordOptions): Promise<void> {
261
+ resendCount = 0,
262
+ attempts = 0,
263
+ }: SavePendingCodeRecordOptions): Promise<PendingCodeRecord> {
257
264
  const codeHash = await hash({ s: `verificationcode${code}` });
258
265
  const record: PendingCodeRecord = {
259
266
  codeHash,
260
- attempts: 0,
267
+ rawCode: code,
268
+ attempts,
261
269
  maxAttempts,
262
270
  expiresAt: Date.now() + ttlMs,
271
+ dispatchedAt: Date.now(),
272
+ resendCount,
263
273
  };
264
274
  const codeFilePath = path.join(pendingDir, 'code.json');
265
275
  await fs.writeFile(codeFilePath, JSON.stringify(record, null, 2), 'utf-8');
276
+ return record;
266
277
  }
267
278
 
268
279
  /**
@@ -10,11 +10,15 @@ import { KeystoneStrategyFactory } from '@ibgib/core-gib/dist/keystone/strategy/
10
10
  import { MetaspaceService } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
11
11
  import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
12
12
 
13
+ import { GLOBAL_LOG_A_LOT } from '../../constants.mjs';
14
+ import { loadSsoServerConfig } from './sso-config-helper.mjs';
13
15
  import {
14
16
  SsoServerConfig, SsoProviderId, OAuthUserInfo, SsoProviderServerConfig,
15
17
  SsoProviderClientConfig
16
18
  } from './sso-types.mjs';
17
19
 
20
+ const logalot = GLOBAL_LOG_A_LOT || true;
21
+
18
22
  interface JwkKey {
19
23
  kty: string;
20
24
  alg?: string;
@@ -62,33 +66,42 @@ export class SsoCustodianService {
62
66
  * - Generator: Client/Server (Derived from environmental configuration and sent by client).
63
67
  */
64
68
  async getOAuthUserInfo(providerId: SsoProviderId, code: string, redirectUri: string): Promise<OAuthUserInfo> {
65
- const lc = `${this.lc}[${this.getOAuthUserInfo.name}]`;
66
- const providerConfig = this.config.providers[providerId];
67
- if (!providerConfig) {
68
- throw new Error(`Provider '${providerId}' is not configured on this server. (E: c28900abfefd23e89cf23f12)`);
69
- }
69
+ const lc = `[${this.getOAuthUserInfo.name}]`;
70
+ try {
71
+ if (logalot) { console.log(`${lc} starting... (I: 3ad578b5065ec6d5517469571a4da826)`); }
70
72
 
71
- console.log(`${lc} Exchanging code for provider: ${providerId}`);
73
+ const providerConfig = this.config.providers[providerId];
74
+ if (!providerConfig) {
75
+ throw new Error(`Provider '${providerId}' is not configured on this server. (E: c28900abfefd23e89cf23f12)`);
76
+ }
72
77
 
73
- // 1. Exchange authorization code for tokens
74
- const tokens = await this.exchangeCodeForTokens(providerConfig, code, redirectUri);
78
+ console.log(`${lc} Exchanging code for provider: ${providerId}`);
75
79
 
76
- // 2. Retrieve and normalize user info
77
- if (providerId === 'google') {
78
- // Google returns an id_token (JWT) directly containing user info
79
- if (!tokens.id_token) {
80
- throw new Error(`Google token exchange did not return id_token. (E: e28900abfefd23e89cf45f23)`);
81
- }
82
- return this.verifyAndNormalizeGoogleToken(tokens.id_token);
83
- } else if (providerId === 'github') {
84
- // GitHub requires calling the /user API using the access_token
85
- if (!tokens.access_token) {
86
- throw new Error(`GitHub token exchange did not return access_token. (E: a28900abfefd23e89cf56f34)`);
80
+ // 1. Exchange authorization code for tokens
81
+ const tokens = await this.exchangeCodeForTokens(providerConfig, code, redirectUri);
82
+
83
+ // 2. Retrieve and normalize user info
84
+ if (providerId === 'google') {
85
+ // Google returns an id_token (JWT) directly containing user info
86
+ if (!tokens.id_token) {
87
+ throw new Error(`Google token exchange did not return id_token. (E: e28900abfefd23e89cf45f23)`);
88
+ }
89
+ return this.verifyAndNormalizeGoogleToken(tokens.id_token);
90
+ } else if (providerId === 'github') {
91
+ // GitHub requires calling the /user API using the access_token
92
+ if (!tokens.access_token) {
93
+ throw new Error(`GitHub token exchange did not return access_token. (E: a28900abfefd23e89cf56f34)`);
94
+ }
95
+ return this.fetchAndNormalizeGithubUser(providerConfig, tokens.access_token);
87
96
  }
88
- return this.fetchAndNormalizeGithubUser(providerConfig, tokens.access_token);
89
- }
90
97
 
91
- throw new Error(`Unsupported provider: ${providerId}. (E: d28900abfefd23e89cf67f45)`);
98
+ throw new Error(`Unsupported provider: ${providerId}. (E: d28900abfefd23e89cf67f45)`);
99
+ } catch (error) {
100
+ console.error(`${lc} ${extractErrorMsg(error)}`);
101
+ throw error;
102
+ } finally {
103
+ if (logalot) { console.log(`${lc} complete.`); }
104
+ }
92
105
  }
93
106
 
94
107
  /**
@@ -413,76 +426,87 @@ export class SsoCustodianService {
413
426
  metaspace: MetaspaceService;
414
427
  space: IbGibSpaceAny;
415
428
  }): Promise<KeystoneChallengePool> {
416
- // 1. Fetch target keystone
417
- const keystoneService = new KeystoneService_V1();
418
- const targetKeystone = await keystoneService.getLatestKeystone({
419
- addr: keystoneAddr,
420
- metaspace,
421
- space
422
- });
429
+ const lc = `[${this.createCustodianChallengePool.name}]`;
430
+ try {
431
+ if (logalot) { console.log(`${lc} starting... (I: 4238580990ff19dd2815d5186ffa0826)`); }
432
+
433
+ // 1. Fetch target keystone
434
+ const keystoneService = new KeystoneService_V1();
435
+ const targetKeystone = await keystoneService.getLatestKeystone({
436
+ addr: keystoneAddr,
437
+ metaspace,
438
+ space
439
+ });
423
440
 
424
- if (!targetKeystone) {
425
- throw new Error(`Keystone not found for address: ${keystoneAddr} (E: 8a9c2b1d3e5f6a7b8c9d0e1f2a3b4c5d)`);
426
- }
441
+ if (!targetKeystone) {
442
+ throw new Error(`Keystone not found for address: ${keystoneAddr} (E: 8a9c2b1d3e5f6a7b8c9d0e1f2a3b4c5d)`);
443
+ }
427
444
 
428
- // 2. Locate native manage pool
429
- const userManagePool = targetKeystone.data?.challengePools.find(p => p.id === POOL_ID_MANAGE);
430
- if (!userManagePool) {
431
- throw new Error(`Keystone manage pool not found. Custodian manage pool must match the user manage pool's security config. (E: 7c4e5f6a7b8c9d0e1f2a3b4c5e6f7a8b)`);
432
- }
445
+ // 2. Locate native manage pool
446
+ const userManagePool = targetKeystone.data?.challengePools.find(p => p.id === POOL_ID_MANAGE);
447
+ if (!userManagePool) {
448
+ throw new Error(`Keystone manage pool not found. Custodian manage pool must match the user manage pool's security config. (E: 7c4e5f6a7b8c9d0e1f2a3b4c5e6f7a8b)`);
449
+ }
433
450
 
434
- // 3. Dynamic poolId based on providerId with regex validation
435
- if (!providerId || !KEYSTONE_POOL_ID_REGEXP.test(providerId)) {
436
- throw new Error(`Invalid providerId: "${providerId}". Must match ${KEYSTONE_POOL_ID_REGEXP} (E: 3a2c4e5f6a7b8c9d0e1f2a3b4c5e6f)`);
437
- }
438
- const poolId = `custodian-manage-${providerId}`;
451
+ // 3. Dynamic poolId based on providerId with regex validation
452
+ if (!providerId || !KEYSTONE_POOL_ID_REGEXP.test(providerId)) {
453
+ throw new Error(`Invalid providerId: "${providerId}". Must match ${KEYSTONE_POOL_ID_REGEXP} (E: 3a2c4e5f6a7b8c9d0e1f2a3b4c5e6f)`);
454
+ }
455
+ const poolId = `custodian-manage-${providerId}`;
439
456
 
440
- // 4. Derive delegate secrets
441
- const custodianSecret = await this.deriveServerDelegateSecret(providerKey, userNonce);
457
+ // 4. Derive delegate secrets
458
+ const custodianSecret = await this.deriveServerDelegateSecret(providerKey, userNonce);
442
459
 
443
- const poolSalt = await hash({
444
- s: `${providerKey}:${userNonce}:salt`,
445
- algorithm: HashAlgorithm.sha_256
446
- });
447
- const poolSaltShort = poolSalt.substring(0, 16);
448
-
449
- // 5. Clone user's manage pool config, updating only ID, salt, and allowedVerbs
450
- const config: KeystonePoolConfig = {
451
- ...userManagePool.config,
452
- id: poolId,
453
- salt: poolSaltShort,
454
- allowedVerbs: [KEYSTONE_VERB_MANAGE, KEYSTONE_VERB_REVOKE]
455
- };
460
+ const poolSalt = await hash({
461
+ s: `${providerKey}:${userNonce}:salt`,
462
+ algorithm: HashAlgorithm.sha_256
463
+ });
464
+ const poolSaltShort = poolSalt.substring(0, 16);
465
+
466
+ // 5. Clone user's manage pool config, updating only ID, salt, and allowedVerbs
467
+ const config: KeystonePoolConfig = {
468
+ ...userManagePool.config,
469
+ id: poolId,
470
+ salt: poolSaltShort,
471
+ allowedVerbs: [KEYSTONE_VERB_MANAGE, KEYSTONE_VERB_REVOKE]
472
+ };
473
+
474
+ const strategy = KeystoneStrategyFactory.create({ config });
475
+ const poolSecret = await strategy.derivePoolSecret({ masterSecret: custodianSecret });
476
+ const challenges: { [id: string]: any } = {};
477
+ const timestamp = Date.now().toString();
478
+
479
+ for (let i = 0; i < config.behavior.size; i++) {
480
+ const challengeId = await generateOpaqueChallengeId({
481
+ salt: config.salt,
482
+ timestamp,
483
+ index: i
484
+ });
485
+ const solution = await strategy.generateSolution({
486
+ poolSecret,
487
+ poolId: config.id,
488
+ challengeId
489
+ });
490
+ challenges[challengeId] = await strategy.generateChallenge({ solution });
491
+ }
456
492
 
457
- const strategy = KeystoneStrategyFactory.create({ config });
458
- const poolSecret = await strategy.derivePoolSecret({ masterSecret: custodianSecret });
459
- const challenges: { [id: string]: any } = {};
460
- const timestamp = Date.now().toString();
493
+ return {
494
+ id: poolId,
495
+ config,
496
+ challenges,
497
+ isForeign: true,
498
+ metadata: {
499
+ owner: 'custodian',
500
+ providerKey
501
+ }
502
+ };
461
503
 
462
- for (let i = 0; i < config.behavior.size; i++) {
463
- const challengeId = await generateOpaqueChallengeId({
464
- salt: config.salt,
465
- timestamp,
466
- index: i
467
- });
468
- const solution = await strategy.generateSolution({
469
- poolSecret,
470
- poolId: config.id,
471
- challengeId
472
- });
473
- challenges[challengeId] = await strategy.generateChallenge({ solution });
504
+ } catch (error) {
505
+ console.error(`${lc} ${extractErrorMsg(error)}`);
506
+ throw error;
507
+ } finally {
508
+ if (logalot) { console.log(`${lc} complete.`); }
474
509
  }
475
-
476
- return {
477
- id: poolId,
478
- config,
479
- challenges,
480
- isForeign: true,
481
- metadata: {
482
- owner: 'custodian',
483
- providerKey
484
- }
485
- };
486
510
  }
487
511
 
488
512
  /**
@@ -564,3 +588,24 @@ export class SsoCustodianService {
564
588
  }
565
589
  }
566
590
  }
591
+
592
+ let ssoCustodianService: SsoCustodianService | undefined;
593
+
594
+ /**
595
+ * Gets or initializes the singleton SsoCustodianService instance.
596
+ */
597
+ export function getSsoCustodianService(): SsoCustodianService {
598
+ if (!ssoCustodianService) {
599
+ const config = loadSsoServerConfig();
600
+ ssoCustodianService = new SsoCustodianService(config);
601
+ }
602
+ return ssoCustodianService;
603
+ }
604
+
605
+ /**
606
+ * Resets the singleton SsoCustodianService instance (useful for test resets).
607
+ */
608
+ export function resetSsoCustodianService(): void {
609
+ ssoCustodianService = undefined;
610
+ }
611
+