@ibgib/web-gib 0.0.61 → 0.0.63
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.
- package/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/helpers.web.d.mts +20 -3
- package/dist/helpers.web.d.mts.map +1 -1
- package/dist/helpers.web.mjs +84 -3
- package/dist/helpers.web.mjs.map +1 -1
- package/dist/identity/device-delegate-helper.d.mts +48 -0
- package/dist/identity/device-delegate-helper.d.mts.map +1 -1
- package/dist/identity/device-delegate-helper.mjs +86 -2
- package/dist/identity/device-delegate-helper.mjs.map +1 -1
- package/dist/identity/device-delegate.respec.mjs +6 -6
- package/dist/identity/device-delegate.respec.mjs.map +1 -1
- package/dist/identity/passkey-helper.d.mts +77 -0
- package/dist/identity/passkey-helper.d.mts.map +1 -0
- package/dist/identity/passkey-helper.mjs +258 -0
- package/dist/identity/passkey-helper.mjs.map +1 -0
- package/dist/identity/passkey.respec.d.mts +2 -0
- package/dist/identity/passkey.respec.d.mts.map +1 -0
- package/dist/identity/passkey.respec.mjs +169 -0
- package/dist/identity/passkey.respec.mjs.map +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/ui/component/identity/add-device/add-device.d.mts.map +1 -1
- package/dist/ui/component/identity/add-device/add-device.mjs +1 -0
- package/dist/ui/component/identity/add-device/add-device.mjs.map +1 -1
- package/dist/ui/component/identity/keystone-creator/keystone-creator.css +26 -0
- package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts +18 -1
- package/dist/ui/component/identity/keystone-creator/keystone-creator.d.mts.map +1 -1
- package/dist/ui/component/identity/keystone-creator/keystone-creator.html +60 -4
- package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs +518 -74
- package/dist/ui/component/identity/keystone-creator/keystone-creator.mjs.map +1 -1
- package/dist/ui/component/identity/keystone-details/keystone-details.d.mts +28 -1
- package/dist/ui/component/identity/keystone-details/keystone-details.d.mts.map +1 -1
- package/dist/ui/component/identity/keystone-details/keystone-details.html +46 -0
- package/dist/ui/component/identity/keystone-details/keystone-details.mjs +1146 -208
- package/dist/ui/component/identity/keystone-details/keystone-details.mjs.map +1 -1
- package/dist/ui/component/identity/remove-device/remove-device.d.mts.map +1 -1
- package/dist/ui/component/identity/remove-device/remove-device.mjs +1 -0
- package/dist/ui/component/identity/remove-device/remove-device.mjs.map +1 -1
- package/dist/ui/ui-helpers.d.mts +3 -0
- package/dist/ui/ui-helpers.d.mts.map +1 -1
- package/dist/ui/ui-helpers.mjs +116 -7
- package/dist/ui/ui-helpers.mjs.map +1 -1
- package/package.json +2 -2
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/helpers.web.mts +117 -7
- package/src/identity/device-delegate-helper.mts +135 -2
- package/src/identity/device-delegate.respec.mts +6 -6
- package/src/identity/passkey-helper.mts +337 -0
- package/src/identity/passkey.respec.mts +194 -0
- package/src/index.mts +1 -0
- package/src/ui/component/identity/add-device/add-device.mts +1 -0
- package/src/ui/component/identity/keystone-creator/keystone-creator.css +26 -0
- package/src/ui/component/identity/keystone-creator/keystone-creator.html +60 -4
- package/src/ui/component/identity/keystone-creator/keystone-creator.mts +561 -77
- package/src/ui/component/identity/keystone-details/keystone-details.html +46 -0
- package/src/ui/component/identity/keystone-details/keystone-details.mts +1239 -224
- package/src/ui/component/identity/remove-device/remove-device.mts +1 -0
- package/src/ui/ui-helpers.mts +123 -6
- package/tools/auto-generated-agent-skills/skills/ibgib-create-app-server/SKILL.md +50 -0
- package/src/identity/custodian-delegate-helper.mts.bak +0 -7
- package/src/identity/sso/sso-config-helper.mts.bak +0 -52
- package/src/identity/sso/sso-custodian-service.mts.bak +0 -566
- package/src/identity/sso/sso-custodian-service.respec.mts.bak +0 -298
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-helpers.mjs","sourceRoot":"","sources":["../../src/ui/ui-helpers.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-helpers.mjs","sourceRoot":"","sources":["../../src/ui/ui-helpers.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibgib/web-gib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.63",
|
|
4
4
|
"description": "Framework for creating agentic ibGib web apps. Contains plumbing for ibgib components, agentic framework (currently only Gemini implemented), web-based IndexedDB storage substrate, and more.",
|
|
5
5
|
"funding": {
|
|
6
6
|
"type": "individual",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"license": "ISC",
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@google/genai": "^1.33.0",
|
|
32
|
-
"@ibgib/core-gib": "^0.1.
|
|
32
|
+
"@ibgib/core-gib": "^0.1.77",
|
|
33
33
|
"@ibgib/encrypt-gib": "^0.3.1",
|
|
34
34
|
"@ibgib/helper-gib": "^0.0.37",
|
|
35
35
|
"@ibgib/ts-gib": "^0.5.34"
|
package/src/helpers.web.mts
CHANGED
|
@@ -424,27 +424,50 @@ export async function promptForText({
|
|
|
424
424
|
}
|
|
425
425
|
}
|
|
426
426
|
|
|
427
|
+
import { evaluatePasskeyPrf, isPasskeyPrfSupported } from "./identity/passkey-helper.mjs";
|
|
428
|
+
import { KeystonePasskeyEntry } from "@ibgib/core-gib/dist/keystone/keystone-types.mjs";
|
|
429
|
+
|
|
430
|
+
export interface AuthoritySecretResult {
|
|
431
|
+
secret: string;
|
|
432
|
+
poolId: string;
|
|
433
|
+
}
|
|
434
|
+
|
|
427
435
|
/**
|
|
428
|
-
*
|
|
429
|
-
* with a known name and get at it that way.
|
|
436
|
+
* Prompts the user for a secret, supporting both master password and passkey/hardware authenticators.
|
|
430
437
|
*/
|
|
431
438
|
export async function promptForSecret({
|
|
432
439
|
msg,
|
|
433
440
|
confirm,
|
|
441
|
+
passkeys,
|
|
434
442
|
}: {
|
|
435
|
-
msg?: string
|
|
436
|
-
confirm: boolean
|
|
443
|
+
msg?: string;
|
|
444
|
+
confirm: boolean;
|
|
445
|
+
passkeys?: Record<string, KeystonePasskeyEntry>;
|
|
437
446
|
}): Promise<string> {
|
|
438
447
|
const lc = `[${promptForSecret.name}]`;
|
|
439
448
|
try {
|
|
440
449
|
if (logalot) { console.log(`${lc} starting... (I: 795a4ce348ddb9a5119770f4c572ac24)`); }
|
|
441
450
|
|
|
442
|
-
let result:
|
|
451
|
+
let result: any = undefined;
|
|
443
452
|
|
|
444
453
|
let firstTry = true;
|
|
445
454
|
let attempts = 0;
|
|
446
455
|
let maxAttempts = 5;
|
|
447
456
|
|
|
457
|
+
const prfSupported = await isPasskeyPrfSupported().catch(() => false);
|
|
458
|
+
const onPasskeyAuth = (prfSupported && passkeys && Object.keys(passkeys).length > 0)
|
|
459
|
+
? async (passkeyEntry?: any) => {
|
|
460
|
+
if (!passkeyEntry) return undefined;
|
|
461
|
+
const { passkeySecret } = await evaluatePasskeyPrf({
|
|
462
|
+
credentialId: passkeyEntry.credentialId,
|
|
463
|
+
salt: passkeyEntry.salt,
|
|
464
|
+
transports: passkeyEntry.transports,
|
|
465
|
+
userVerification: 'preferred'
|
|
466
|
+
});
|
|
467
|
+
return passkeySecret;
|
|
468
|
+
}
|
|
469
|
+
: undefined;
|
|
470
|
+
|
|
448
471
|
do {
|
|
449
472
|
attempts++;
|
|
450
473
|
if (attempts >= maxAttempts) {
|
|
@@ -458,12 +481,18 @@ export async function promptForSecret({
|
|
|
458
481
|
showInput: true,
|
|
459
482
|
isPassword: true,
|
|
460
483
|
defaultValue: undefined,
|
|
484
|
+
passkeys,
|
|
485
|
+
onPasskeyAuth,
|
|
461
486
|
});
|
|
462
487
|
if (result === undefined) { throw new Error(`user cancelled (E: 91519d04378e84106f3df8eb36d99725)`); }
|
|
463
488
|
|
|
489
|
+
if (typeof result === 'object' && result?.secret !== undefined) {
|
|
490
|
+
result = result.secret;
|
|
491
|
+
}
|
|
492
|
+
|
|
464
493
|
if (confirm) {
|
|
465
494
|
await delay(250);
|
|
466
|
-
let result2 = await showFullscreenDialog({
|
|
495
|
+
let result2: any = await showFullscreenDialog({
|
|
467
496
|
title: 'Shh...',
|
|
468
497
|
msg: 'Confirm...',
|
|
469
498
|
prompt: true,
|
|
@@ -472,6 +501,9 @@ export async function promptForSecret({
|
|
|
472
501
|
defaultValue: undefined,
|
|
473
502
|
});
|
|
474
503
|
if (result2 === undefined) { result = undefined; }
|
|
504
|
+
if (typeof result2 === 'object' && result2?.secret !== undefined) {
|
|
505
|
+
result2 = result2.secret;
|
|
506
|
+
}
|
|
475
507
|
if (result !== result2) {
|
|
476
508
|
result = undefined;
|
|
477
509
|
firstTry = false;
|
|
@@ -479,7 +511,6 @@ export async function promptForSecret({
|
|
|
479
511
|
}
|
|
480
512
|
}
|
|
481
513
|
|
|
482
|
-
|
|
483
514
|
} while (result === undefined);
|
|
484
515
|
|
|
485
516
|
return result;
|
|
@@ -491,6 +522,85 @@ export async function promptForSecret({
|
|
|
491
522
|
}
|
|
492
523
|
}
|
|
493
524
|
|
|
525
|
+
/**
|
|
526
|
+
* Unified authority prompt that inspects the candidate pools on a keystone and prompts the user
|
|
527
|
+
* to authorize via either Master Password or a specific Passkey.
|
|
528
|
+
* Returns both the verified secret and the exact signingPoolId to use for keystone operations.
|
|
529
|
+
*/
|
|
530
|
+
export async function promptForAuthoritySecret({
|
|
531
|
+
keystone,
|
|
532
|
+
aggregatedDetails,
|
|
533
|
+
title,
|
|
534
|
+
msg,
|
|
535
|
+
verb = 'manage',
|
|
536
|
+
}: {
|
|
537
|
+
keystone: any;
|
|
538
|
+
aggregatedDetails?: any;
|
|
539
|
+
title?: string;
|
|
540
|
+
msg?: string;
|
|
541
|
+
verb?: string;
|
|
542
|
+
}): Promise<AuthoritySecretResult> {
|
|
543
|
+
const lc = `[${promptForAuthoritySecret.name}]`;
|
|
544
|
+
try {
|
|
545
|
+
const passkeysMap = aggregatedDetails?.passkeys
|
|
546
|
+
|| (keystone.data as any)?.frameDetails?.passkeys
|
|
547
|
+
|| (keystone.data as any)?.passkeys
|
|
548
|
+
|| {};
|
|
549
|
+
|
|
550
|
+
const prfSupported = await isPasskeyPrfSupported().catch(() => false);
|
|
551
|
+
const onPasskeyAuth = (prfSupported && passkeysMap && Object.keys(passkeysMap).length > 0)
|
|
552
|
+
? async (passkeyEntry?: any) => {
|
|
553
|
+
if (!passkeyEntry) return undefined;
|
|
554
|
+
const { passkeySecret } = await evaluatePasskeyPrf({
|
|
555
|
+
credentialId: passkeyEntry.credentialId,
|
|
556
|
+
salt: passkeyEntry.salt,
|
|
557
|
+
transports: passkeyEntry.transports,
|
|
558
|
+
userVerification: 'preferred'
|
|
559
|
+
});
|
|
560
|
+
return passkeySecret;
|
|
561
|
+
}
|
|
562
|
+
: undefined;
|
|
563
|
+
|
|
564
|
+
const candidatePools = (keystone.data?.challengePools || []).filter((p: any) =>
|
|
565
|
+
p.id === 'manage' ||
|
|
566
|
+
p.id.startsWith('passkey-manage-') ||
|
|
567
|
+
(p.config?.allowedVerbs && verb && p.config.allowedVerbs.includes(verb))
|
|
568
|
+
);
|
|
569
|
+
|
|
570
|
+
const hasPasswordPool = candidatePools.some((p: any) => p.id === 'manage');
|
|
571
|
+
|
|
572
|
+
const dialogResult: any = await showFullscreenDialog({
|
|
573
|
+
title: title || 'Authorize Action',
|
|
574
|
+
msg: msg || 'Authorize this action with your master password or passkey:',
|
|
575
|
+
prompt: true,
|
|
576
|
+
showInput: hasPasswordPool,
|
|
577
|
+
isPassword: true,
|
|
578
|
+
defaultValue: undefined,
|
|
579
|
+
passkeys: passkeysMap,
|
|
580
|
+
onPasskeyAuth,
|
|
581
|
+
});
|
|
582
|
+
|
|
583
|
+
if (!dialogResult) {
|
|
584
|
+
throw new Error("Action cancelled by user.");
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
if (typeof dialogResult === 'object' && dialogResult.secret !== undefined) {
|
|
588
|
+
return {
|
|
589
|
+
secret: dialogResult.secret,
|
|
590
|
+
poolId: dialogResult.poolId || 'manage'
|
|
591
|
+
};
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
return {
|
|
595
|
+
secret: String(dialogResult),
|
|
596
|
+
poolId: 'manage'
|
|
597
|
+
};
|
|
598
|
+
} catch (error) {
|
|
599
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
600
|
+
throw error;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
|
|
494
604
|
/**
|
|
495
605
|
* prompt specifically looking to confirm something. if "cancelled", returns
|
|
496
606
|
* false.
|
|
@@ -7,11 +7,14 @@
|
|
|
7
7
|
* Applicable symmetrically to Sovereign, Custodial, and Hybrid identities.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { extractErrorMsg } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
|
|
11
|
-
import { deriveDeviceDelegateSecret } from "@ibgib/core-gib/dist/keystone/delegate/delegate-helpers.mjs";
|
|
10
|
+
import { extractErrorMsg, getSaferSubstring } from "@ibgib/helper-gib/dist/helpers/utils-helper.mjs";
|
|
11
|
+
import { deriveDeviceDelegateSecret, deriveDelegateSecret, createSyncDelegateKeystone } from "@ibgib/core-gib/dist/keystone/delegate/delegate-helpers.mjs";
|
|
12
|
+
import { generateDefaultDeviceTag } from "../util/device-helper.mjs";
|
|
12
13
|
import { storageGet, storagePut, storageDelete } from "../storage/storage-helpers.web.mjs";
|
|
13
14
|
import { getGlobalDbName, getGlobalStoreName } from "../helpers.web.mjs";
|
|
14
15
|
|
|
16
|
+
export { generateDefaultDeviceTag };
|
|
17
|
+
|
|
15
18
|
export const DEVICE_DELEGATE_SECRET_PREFIX = 'ibgib_device_delegate_secret_';
|
|
16
19
|
|
|
17
20
|
/**
|
|
@@ -133,3 +136,133 @@ export async function clearDeviceDelegateSecret({
|
|
|
133
136
|
throw error;
|
|
134
137
|
}
|
|
135
138
|
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Creates a Sovereign Password-based sync delegate for this device.
|
|
142
|
+
* Standardized format: `pwd-${safeUsername}-${defaultDeviceTag}`
|
|
143
|
+
*/
|
|
144
|
+
export async function createSovereignDeviceSyncDelegate({
|
|
145
|
+
username,
|
|
146
|
+
primaryTjpAddr,
|
|
147
|
+
masterSecret,
|
|
148
|
+
metaspace,
|
|
149
|
+
space,
|
|
150
|
+
}: {
|
|
151
|
+
username: string;
|
|
152
|
+
primaryTjpAddr: string;
|
|
153
|
+
masterSecret: string;
|
|
154
|
+
metaspace?: any;
|
|
155
|
+
space?: any;
|
|
156
|
+
}): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
|
|
157
|
+
const delegateSecret = await deriveDelegateSecret({ masterSecret });
|
|
158
|
+
await setDeviceDelegateSecret({ primaryTjpAddr, delegateSecret });
|
|
159
|
+
|
|
160
|
+
const safeUser = getSaferSubstring({ text: username, length: 8, keepLiterals: ['-'] }) || 'user';
|
|
161
|
+
const defaultDeviceTag = generateDefaultDeviceTag();
|
|
162
|
+
const deviceTag = `pwd-${safeUser}-${defaultDeviceTag}`;
|
|
163
|
+
const sovereignSyncProfileName = process.env.KEYSTONE_PROFILE_SOVEREIGN_SYNC;
|
|
164
|
+
if (!sovereignSyncProfileName || !sovereignSyncProfileName.trim()) {
|
|
165
|
+
throw new Error('KEYSTONE_PROFILE_SOVEREIGN_SYNC environment variable is missing.');
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const delegateKeystone = await createSyncDelegateKeystone({
|
|
169
|
+
profileName: sovereignSyncProfileName.trim() as any,
|
|
170
|
+
username,
|
|
171
|
+
deviceTag,
|
|
172
|
+
primaryTjpAddr,
|
|
173
|
+
delegateSecret,
|
|
174
|
+
additionalFrameDetails: { client: 'space-gib-web' },
|
|
175
|
+
metaspace,
|
|
176
|
+
space,
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
return { delegateKeystone, deviceTag, delegateSecret };
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Creates an OAuth2 Custodial sync delegate for this device.
|
|
184
|
+
* Standardized format: `oauth2-${providerId}-${defaultDeviceTag}`
|
|
185
|
+
*/
|
|
186
|
+
export async function createOAuth2DeviceSyncDelegate({
|
|
187
|
+
providerId,
|
|
188
|
+
username = 'user',
|
|
189
|
+
primaryTjpAddr,
|
|
190
|
+
custodianReqs,
|
|
191
|
+
metaspace,
|
|
192
|
+
space,
|
|
193
|
+
}: {
|
|
194
|
+
providerId: string;
|
|
195
|
+
username?: string;
|
|
196
|
+
primaryTjpAddr: string;
|
|
197
|
+
custodianReqs?: any;
|
|
198
|
+
metaspace?: any;
|
|
199
|
+
space?: any;
|
|
200
|
+
}): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
|
|
201
|
+
const delegateSecret = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
|
|
202
|
+
const defaultDeviceTag = generateDefaultDeviceTag();
|
|
203
|
+
const deviceTag = `oauth2-${providerId}-${defaultDeviceTag}`;
|
|
204
|
+
const custodianSyncProfileName = process.env.KEYSTONE_PROFILE_CUSTODIAN_SYNC;
|
|
205
|
+
if (!custodianSyncProfileName || !custodianSyncProfileName.trim()) {
|
|
206
|
+
throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing.');
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
const delegateKeystone = await createSyncDelegateKeystone({
|
|
210
|
+
profileName: custodianSyncProfileName.trim() as any,
|
|
211
|
+
username,
|
|
212
|
+
deviceTag,
|
|
213
|
+
primaryTjpAddr,
|
|
214
|
+
delegateSecret,
|
|
215
|
+
custodianReqs,
|
|
216
|
+
additionalFrameDetails: { client: 'space-gib-web' },
|
|
217
|
+
metaspace,
|
|
218
|
+
space,
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
return { delegateKeystone, deviceTag, delegateSecret };
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Creates an Email Custodial sync delegate for this device.
|
|
226
|
+
* Standardized format: `email-${safeUser}@${safeDomain}-${defaultDeviceTag}`
|
|
227
|
+
*/
|
|
228
|
+
export async function createEmailDeviceSyncDelegate({
|
|
229
|
+
email,
|
|
230
|
+
primaryTjpAddr,
|
|
231
|
+
custodianReqs,
|
|
232
|
+
metaspace,
|
|
233
|
+
space,
|
|
234
|
+
}: {
|
|
235
|
+
email: string;
|
|
236
|
+
primaryTjpAddr: string;
|
|
237
|
+
custodianReqs?: any;
|
|
238
|
+
metaspace?: any;
|
|
239
|
+
space?: any;
|
|
240
|
+
}): Promise<{ delegateKeystone: any; deviceTag: string; delegateSecret: string }> {
|
|
241
|
+
const delegateSecret = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
|
|
242
|
+
const defaultDeviceTag = generateDefaultDeviceTag();
|
|
243
|
+
const [emailUser = '', emailDomain = ''] = (email || '').split('@');
|
|
244
|
+
const safeUser = getSaferSubstring({ text: emailUser, length: 8, keepLiterals: ['-'] }) || 'user';
|
|
245
|
+
const domainPart = emailDomain.split('.')[0] || '';
|
|
246
|
+
const safeDomain = domainPart ? getSaferSubstring({ text: domainPart, length: 8, keepLiterals: ['-'] }) : '';
|
|
247
|
+
const emailTag = safeDomain ? `${safeUser}@${safeDomain}` : safeUser;
|
|
248
|
+
const deviceTag = `email-${emailTag}-${defaultDeviceTag}`;
|
|
249
|
+
const username = safeUser;
|
|
250
|
+
const custodianSyncProfileName = process.env.KEYSTONE_PROFILE_CUSTODIAN_SYNC;
|
|
251
|
+
if (!custodianSyncProfileName || !custodianSyncProfileName.trim()) {
|
|
252
|
+
throw new Error('KEYSTONE_PROFILE_CUSTODIAN_SYNC environment variable is missing.');
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
const delegateKeystone = await createSyncDelegateKeystone({
|
|
256
|
+
profileName: custodianSyncProfileName.trim() as any,
|
|
257
|
+
username,
|
|
258
|
+
deviceTag,
|
|
259
|
+
primaryTjpAddr,
|
|
260
|
+
delegateSecret,
|
|
261
|
+
custodianReqs,
|
|
262
|
+
additionalFrameDetails: { client: 'space-gib-web' },
|
|
263
|
+
metaspace,
|
|
264
|
+
space,
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
return { delegateKeystone, deviceTag, delegateSecret };
|
|
268
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { respecfully, ifWeMight, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
1
|
+
import { respecfully, ifWe, ifWeMight, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
2
2
|
import { getIbGibGlobalThis_IbGib } from '../helpers.mjs';
|
|
3
3
|
import {
|
|
4
4
|
getDeviceDelegateSecretKey,
|
|
@@ -67,14 +67,14 @@ if (typeof globalThis.indexedDB === 'undefined') {
|
|
|
67
67
|
|
|
68
68
|
await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () => {
|
|
69
69
|
|
|
70
|
-
await
|
|
70
|
+
await ifWe(sir, 'getDeviceDelegateSecretKey constructs deterministic storage key', async () => {
|
|
71
71
|
const primaryTjpAddr = 'keystone^alice_tjp_12345';
|
|
72
72
|
const key = getDeviceDelegateSecretKey({ primaryTjpAddr });
|
|
73
73
|
|
|
74
74
|
iReckon(sir, key).willEqual(`${DEVICE_DELEGATE_SECRET_PREFIX}${primaryTjpAddr}`);
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
-
await
|
|
77
|
+
await ifWe(sir, 'setDeviceDelegateSecret and getDeviceDelegateSecret persist and retrieve secret', async () => {
|
|
78
78
|
const primaryTjpAddr = 'keystone^bob_tjp_999';
|
|
79
79
|
const secret = 'super-secret-512-token-abc';
|
|
80
80
|
|
|
@@ -84,7 +84,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
|
|
|
84
84
|
iReckon(sir, retrieved).willEqual(secret);
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
await
|
|
87
|
+
await ifWe(sir, 'getOrCreateDeviceDelegateSecret generates high entropy token on first call and caches it', async () => {
|
|
88
88
|
const primaryTjpAddr = 'keystone^charlie_tjp_888';
|
|
89
89
|
|
|
90
90
|
const token1 = await getOrCreateDeviceDelegateSecret({ primaryTjpAddr, deviceTag: 'laptop' });
|
|
@@ -94,7 +94,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
|
|
|
94
94
|
iReckon(sir, token1).willEqual(token2);
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
-
await
|
|
97
|
+
await ifWe(sir, 'clearDeviceDelegateSecret removes stored secret', async () => {
|
|
98
98
|
const primaryTjpAddr = 'keystone^david_tjp_777';
|
|
99
99
|
|
|
100
100
|
await getOrCreateDeviceDelegateSecret({ primaryTjpAddr });
|
|
@@ -106,7 +106,7 @@ await respecfully(sir, 'Device Delegate Storage & Secret Lifecycle', async () =>
|
|
|
106
106
|
iReckon(sir, afterClear).willEqual(undefined);
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
await
|
|
109
|
+
await ifWe(sir, 'fails fast when global db or store name is uninitialized', async () => {
|
|
110
110
|
const primaryTjpAddr = 'keystone^failfast_tjp_000';
|
|
111
111
|
const savedDb = globalThisIbGib.dbName_hack;
|
|
112
112
|
globalThisIbGib.dbName_hack = undefined as any;
|