@ic-reactor/core 3.4.0 → 3.5.1
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/client.d.ts +15 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +104 -30
- package/dist/client.js.map +1 -1
- package/dist/display/visitor.d.ts.map +1 -1
- package/dist/display/visitor.js +29 -3
- package/dist/display/visitor.js.map +1 -1
- package/dist/identity-attributes.d.ts.map +1 -1
- package/dist/identity-attributes.js +24 -1
- package/dist/identity-attributes.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +132 -35
- package/src/display/visitor.ts +44 -3
- package/src/identity-attributes.ts +42 -6
- package/src/utils/constants.ts +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Identity } from "@icp-sdk/core/agent";
|
|
2
|
-
import type { ClientManagerParameters, AgentState, AuthState, AuthClientLike, ClientManagerSignInOptions, IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types/client";
|
|
2
|
+
import type { ClientManagerParameters, AgentState, AuthState, AuthClientLike, ClientManagerAuthClientOptions, ClientManagerSignInOptions, IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types/client";
|
|
3
3
|
import type { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
import type { QueryClient } from "@tanstack/react-query";
|
|
5
5
|
import { HttpAgent } from "@icp-sdk/core/agent";
|
|
@@ -39,6 +39,8 @@ export declare class ClientManager {
|
|
|
39
39
|
authState: AuthState;
|
|
40
40
|
private initPromise?;
|
|
41
41
|
private authPromise?;
|
|
42
|
+
private authClientConstructor?;
|
|
43
|
+
private authClientConstructorPromise?;
|
|
42
44
|
private authStateRevision;
|
|
43
45
|
private authClientWasProvided;
|
|
44
46
|
private port;
|
|
@@ -57,6 +59,15 @@ export declare class ClientManager {
|
|
|
57
59
|
* @returns A promise that resolves to the ClientManager instance when core initialization is complete.
|
|
58
60
|
*/
|
|
59
61
|
initialize(): Promise<this>;
|
|
62
|
+
/**
|
|
63
|
+
* Preloads and creates an AuthClient before a user gesture is needed.
|
|
64
|
+
*
|
|
65
|
+
* Browser signer transports must open their channel directly from a click
|
|
66
|
+
* handler. Apps that pass dynamic auth options, such as OpenID provider
|
|
67
|
+
* aliases, can call this from hover/focus/effect code so the later click path
|
|
68
|
+
* can call signIn/requestAttributes without first awaiting a dynamic import.
|
|
69
|
+
*/
|
|
70
|
+
prepareAuthClient(options?: ClientManagerAuthClientOptions): Promise<AuthClientLike | undefined>;
|
|
60
71
|
/**
|
|
61
72
|
* Specifically initializes the HttpAgent.
|
|
62
73
|
* On local networks, this includes fetching the root key for certificate verification.
|
|
@@ -103,7 +114,10 @@ export declare class ClientManager {
|
|
|
103
114
|
*/
|
|
104
115
|
get authClient(): AuthClientLike | undefined;
|
|
105
116
|
private initializeAuthClient;
|
|
117
|
+
private signInOrRecoverAuthenticatedIdentity;
|
|
118
|
+
private loadAuthClientConstructor;
|
|
106
119
|
private createAuthClient;
|
|
120
|
+
private ensurePreparedAuthClient;
|
|
107
121
|
private shouldRecreateAuthClient;
|
|
108
122
|
private syncAuthStateFromClient;
|
|
109
123
|
/**
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EAET,cAAc,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EAET,cAAc,EACd,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAuB/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;;IAQxB;;OAEG;IACI,WAAW,EAAE,WAAW,CAAA;IAC/B;;OAEG;IACI,UAAU,EAAE,UAAU,CAAA;IAC7B;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,4BAA4B,CAAC,CAEpC;IACD,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IAEnC;;;;OAIG;gBACS,EACV,IAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAiB,EACjB,WAAW,EACX,UAAU,GACX,EAAE,uBAAuB;IAgG1B;;;;;;OAMG;IACU,UAAU;IAMvB;;;;;;;OAOG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,8BAA8B;IAWvE;;;;;OAKG;IACU,eAAe;IAuC5B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC;;;;;;;;;;OAUG;IACI,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAoD5D;IAED;;;;;OAKG;IACI,KAAK,GAAU,eAAe,0BAA0B,mBA8D9D;IAED;;;;OAIG;IACI,MAAM,GAAU,UAAU;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,mBAerD;IAEM,yBAAyB,GAAU,0GASvC,mCAAmC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAqExE;IAEM,+BAA+B,GAAU,0GAS7C,yCAAyC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAW9E;IAED;;OAEG;IACH,IAAI,KAAK,cAER;IAED;;OAEG;IACH,IAAI,UAAU,+BAEb;YAEa,oBAAoB;YAapB,oCAAoC;YA2BpC,yBAAyB;IAqCvC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,wBAAwB;YAMlB,uBAAuB;IAmBrC;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,8BAGV;IAED;;OAEG;IACI,gBAAgB;IAIvB;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIjD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,SAAS;IAI7C,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IASvD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAShE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAwBrC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;CAMxB"}
|
package/dist/client.js
CHANGED
|
@@ -14,7 +14,7 @@ import { HttpAgent } from "@icp-sdk/core/agent";
|
|
|
14
14
|
import { safeGetCanisterEnv } from "@icp-sdk/core/agent/canister-env";
|
|
15
15
|
import { IC_HOST_NETWORK_URI, IC_INTERNET_IDENTITY_PROVIDER, LOCAL_INTERNET_IDENTITY_PROVIDER, } from "./utils/constants";
|
|
16
16
|
import { getNetworkByHostname, getProcessEnvNetwork, isDev, } from "./utils/helper";
|
|
17
|
-
import { decodeIdentityAttributeValues, IDENTITY_ATTRIBUTES_BETA_PROVIDER,
|
|
17
|
+
import { decodeIdentityAttributeValues, IDENTITY_ATTRIBUTES_BETA_PROVIDER, identityAttributeKeys, normalizeSignedIdentityAttributes, } from "./identity-attributes";
|
|
18
18
|
/**
|
|
19
19
|
* ClientManager is a central class for managing the Internet Computer (IC) agent and authentication state.
|
|
20
20
|
*
|
|
@@ -91,6 +91,18 @@ export class ClientManager {
|
|
|
91
91
|
writable: true,
|
|
92
92
|
value: void 0
|
|
93
93
|
});
|
|
94
|
+
Object.defineProperty(this, "authClientConstructor", {
|
|
95
|
+
enumerable: true,
|
|
96
|
+
configurable: true,
|
|
97
|
+
writable: true,
|
|
98
|
+
value: void 0
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(this, "authClientConstructorPromise", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
configurable: true,
|
|
103
|
+
writable: true,
|
|
104
|
+
value: void 0
|
|
105
|
+
});
|
|
94
106
|
Object.defineProperty(this, "authStateRevision", {
|
|
95
107
|
enumerable: true,
|
|
96
108
|
configurable: true,
|
|
@@ -197,17 +209,12 @@ export class ClientManager {
|
|
|
197
209
|
value: async (loginOptions) => {
|
|
198
210
|
let didCompleteSignIn = false;
|
|
199
211
|
try {
|
|
200
|
-
// Ensure agent is initialized before login
|
|
201
|
-
if (!this.agentState.isInitialized) {
|
|
202
|
-
await this.initializeAgent();
|
|
203
|
-
}
|
|
204
212
|
const identityProvider = loginOptions?.identityProvider || this.getDefaultIdentityProvider();
|
|
205
213
|
const authClientOptions = getAuthClientOptions({
|
|
206
214
|
...loginOptions,
|
|
207
215
|
identityProvider,
|
|
208
216
|
});
|
|
209
|
-
if (!
|
|
210
|
-
this.shouldRecreateAuthClient(authClientOptions)) {
|
|
217
|
+
if (!this.ensurePreparedAuthClient(authClientOptions)) {
|
|
211
218
|
await this.initializeAuthClient(authClientOptions);
|
|
212
219
|
}
|
|
213
220
|
if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
|
|
@@ -217,7 +224,10 @@ export class ClientManager {
|
|
|
217
224
|
throw new Error("Authentication module is missing or failed to initialize. To use login, please install the auth package: npm install @icp-sdk/auth");
|
|
218
225
|
}
|
|
219
226
|
this.updateAuthState({ isAuthenticating: true, error: undefined });
|
|
220
|
-
const identity = await
|
|
227
|
+
const identity = await this.signInOrRecoverAuthenticatedIdentity(getSignInOptions(loginOptions));
|
|
228
|
+
if (!this.agentState.isInitialized) {
|
|
229
|
+
await this.initializeAgent();
|
|
230
|
+
}
|
|
221
231
|
this.updateAgent(identity);
|
|
222
232
|
this.updateAuthState({
|
|
223
233
|
identity,
|
|
@@ -275,15 +285,12 @@ export class ClientManager {
|
|
|
275
285
|
configurable: true,
|
|
276
286
|
writable: true,
|
|
277
287
|
value: async ({ keys, nonce, identityProvider = IDENTITY_ATTRIBUTES_BETA_PROVIDER, openIdProvider, windowOpenerFeatures, signIn = true, maxTimeToLive, targets, }) => {
|
|
278
|
-
if (!this.agentState.isInitialized) {
|
|
279
|
-
await this.initializeAgent();
|
|
280
|
-
}
|
|
281
288
|
const authClientOptions = getAuthClientOptions({
|
|
282
289
|
identityProvider,
|
|
283
290
|
windowOpenerFeatures,
|
|
284
291
|
openIdProvider,
|
|
285
292
|
});
|
|
286
|
-
if (!
|
|
293
|
+
if (!this.ensurePreparedAuthClient(authClientOptions)) {
|
|
287
294
|
await this.initializeAuthClient(authClientOptions);
|
|
288
295
|
}
|
|
289
296
|
if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
|
|
@@ -294,22 +301,25 @@ export class ClientManager {
|
|
|
294
301
|
}
|
|
295
302
|
this.updateAuthState({ isAuthenticating: true, error: undefined });
|
|
296
303
|
try {
|
|
297
|
-
const requestPromise = __classPrivateFieldGet(this, _ClientManager_authClient, "f").requestAttributes({
|
|
298
|
-
keys,
|
|
299
|
-
nonce,
|
|
300
|
-
});
|
|
301
304
|
const identityPromise = signIn
|
|
302
|
-
?
|
|
305
|
+
? this.signInOrRecoverAuthenticatedIdentity({
|
|
303
306
|
maxTimeToLive,
|
|
304
307
|
targets,
|
|
305
308
|
})
|
|
306
309
|
: Promise.resolve(__classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity());
|
|
310
|
+
const requestPromise = __classPrivateFieldGet(this, _ClientManager_authClient, "f").requestAttributes({
|
|
311
|
+
keys,
|
|
312
|
+
nonce,
|
|
313
|
+
});
|
|
307
314
|
const [signedAttributes, identity] = await Promise.all([
|
|
308
315
|
requestPromise,
|
|
309
316
|
identityPromise,
|
|
310
317
|
]);
|
|
311
318
|
const finalIdentity = identity ?? (await __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity());
|
|
312
319
|
const isAuthenticated = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").isAuthenticated();
|
|
320
|
+
if (!this.agentState.isInitialized) {
|
|
321
|
+
await this.initializeAgent();
|
|
322
|
+
}
|
|
313
323
|
this.updateAgent(finalIdentity);
|
|
314
324
|
this.updateAuthState({
|
|
315
325
|
identity: finalIdentity,
|
|
@@ -337,7 +347,7 @@ export class ClientManager {
|
|
|
337
347
|
writable: true,
|
|
338
348
|
value: async ({ nonce, openIdProvider, keys, identityProvider = IDENTITY_ATTRIBUTES_BETA_PROVIDER, windowOpenerFeatures, signIn, maxTimeToLive, targets, }) => {
|
|
339
349
|
return this.requestIdentityAttributes({
|
|
340
|
-
keys:
|
|
350
|
+
keys: identityAttributeKeys({ openIdProvider, keys }),
|
|
341
351
|
nonce,
|
|
342
352
|
identityProvider,
|
|
343
353
|
openIdProvider,
|
|
@@ -426,6 +436,11 @@ export class ClientManager {
|
|
|
426
436
|
this.updateAuthState({ error: error, isAuthenticating: false });
|
|
427
437
|
});
|
|
428
438
|
}
|
|
439
|
+
else if (typeof window !== "undefined") {
|
|
440
|
+
this.loadAuthClientConstructor().catch(() => {
|
|
441
|
+
// Optional auth support is reported when an auth method is used.
|
|
442
|
+
});
|
|
443
|
+
}
|
|
429
444
|
}
|
|
430
445
|
/**
|
|
431
446
|
* Orchestrates the complete initialization of the ClientManager.
|
|
@@ -439,6 +454,21 @@ export class ClientManager {
|
|
|
439
454
|
this.authenticate();
|
|
440
455
|
return this;
|
|
441
456
|
}
|
|
457
|
+
/**
|
|
458
|
+
* Preloads and creates an AuthClient before a user gesture is needed.
|
|
459
|
+
*
|
|
460
|
+
* Browser signer transports must open their channel directly from a click
|
|
461
|
+
* handler. Apps that pass dynamic auth options, such as OpenID provider
|
|
462
|
+
* aliases, can call this from hover/focus/effect code so the later click path
|
|
463
|
+
* can call signIn/requestAttributes without first awaiting a dynamic import.
|
|
464
|
+
*/
|
|
465
|
+
async prepareAuthClient(options) {
|
|
466
|
+
if (__classPrivateFieldGet(this, _ClientManager_authClient, "f") &&
|
|
467
|
+
(!this.shouldRecreateAuthClient(options) || this.authClientWasProvided)) {
|
|
468
|
+
return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
|
|
469
|
+
}
|
|
470
|
+
return this.initializeAuthClient(options);
|
|
471
|
+
}
|
|
442
472
|
/**
|
|
443
473
|
* Specifically initializes the HttpAgent.
|
|
444
474
|
* On local networks, this includes fetching the root key for certificate verification.
|
|
@@ -490,25 +520,69 @@ export class ClientManager {
|
|
|
490
520
|
return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
|
|
491
521
|
}
|
|
492
522
|
async initializeAuthClient(options) {
|
|
493
|
-
const
|
|
494
|
-
|
|
495
|
-
return null;
|
|
496
|
-
});
|
|
497
|
-
if (!authModule) {
|
|
498
|
-
this.authModuleMissing = true;
|
|
523
|
+
const AuthClient = await this.loadAuthClientConstructor();
|
|
524
|
+
if (!AuthClient) {
|
|
499
525
|
return undefined;
|
|
500
526
|
}
|
|
501
|
-
__classPrivateFieldSet(this, _ClientManager_authClient, this.createAuthClient(
|
|
527
|
+
__classPrivateFieldSet(this, _ClientManager_authClient, this.createAuthClient(AuthClient, options), "f");
|
|
502
528
|
return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
|
|
503
529
|
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
.
|
|
507
|
-
|
|
508
|
-
|
|
530
|
+
async signInOrRecoverAuthenticatedIdentity(options) {
|
|
531
|
+
if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
|
|
532
|
+
throw new Error("Authentication module is missing or failed to initialize. To use login, please install the auth package: npm install @icp-sdk/auth");
|
|
533
|
+
}
|
|
534
|
+
try {
|
|
535
|
+
return await __classPrivateFieldGet(this, _ClientManager_authClient, "f").signIn(options);
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
const identity = await Promise.resolve(__classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity()).catch(() => null);
|
|
539
|
+
const isAuthenticated = await Promise.resolve(__classPrivateFieldGet(this, _ClientManager_authClient, "f").isAuthenticated()).catch(() => false);
|
|
540
|
+
if (identity && isAuthenticated) {
|
|
541
|
+
return identity;
|
|
542
|
+
}
|
|
543
|
+
throw error;
|
|
509
544
|
}
|
|
545
|
+
}
|
|
546
|
+
async loadAuthClientConstructor() {
|
|
547
|
+
if (this.authClientConstructor) {
|
|
548
|
+
return this.authClientConstructor;
|
|
549
|
+
}
|
|
550
|
+
if (!this.authClientConstructorPromise) {
|
|
551
|
+
this.authClientConstructorPromise = import("@icp-sdk/auth/client")
|
|
552
|
+
.then((authModule) => {
|
|
553
|
+
const AuthClient = authModule.AuthClient;
|
|
554
|
+
if (!AuthClient) {
|
|
555
|
+
throw new Error("@icp-sdk/auth/client did not export AuthClient");
|
|
556
|
+
}
|
|
557
|
+
this.authClientConstructor = AuthClient;
|
|
558
|
+
return AuthClient;
|
|
559
|
+
})
|
|
560
|
+
.catch((error) => {
|
|
561
|
+
this.authModuleMissing = true;
|
|
562
|
+
this.authClientConstructorPromise = undefined;
|
|
563
|
+
if (error instanceof Error &&
|
|
564
|
+
error.message.includes("did not export AuthClient")) {
|
|
565
|
+
throw error;
|
|
566
|
+
}
|
|
567
|
+
return undefined;
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
return this.authClientConstructorPromise;
|
|
571
|
+
}
|
|
572
|
+
createAuthClient(AuthClient, options) {
|
|
510
573
|
return new AuthClient(options);
|
|
511
574
|
}
|
|
575
|
+
ensurePreparedAuthClient(options) {
|
|
576
|
+
if (__classPrivateFieldGet(this, _ClientManager_authClient, "f") &&
|
|
577
|
+
(!this.shouldRecreateAuthClient(options) || this.authClientWasProvided)) {
|
|
578
|
+
return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
|
|
579
|
+
}
|
|
580
|
+
if (!this.authClientConstructor || this.authClientWasProvided) {
|
|
581
|
+
return undefined;
|
|
582
|
+
}
|
|
583
|
+
__classPrivateFieldSet(this, _ClientManager_authClient, this.createAuthClient(this.authClientConstructor, options), "f");
|
|
584
|
+
return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
|
|
585
|
+
}
|
|
512
586
|
shouldRecreateAuthClient(options) {
|
|
513
587
|
return !this.authClientWasProvided && hasAuthClientOptions(options);
|
|
514
588
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAkD1C,qBAAa,mBAAoB,SAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACzE,OAAO,CAAC,SAAS,CAAwC;IAEzD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAIzD,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAIvE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAI5D,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAI1D,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAI1D,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAIlE,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAI1D,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAIpE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAWxD,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAWxD,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAI5D,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAoBjE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAiBjE,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAmBpE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAIvE,QAAQ,CAAC,CAAC,EACR,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,UAAU;IA6Df,QAAQ,CAAC,CAAC,EACR,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,UAAU;IAef,WAAW,CACT,EAAE,EAAE,GAAG,CAAC,WAAW,EACnB,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EACjC,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,UAAU;IA4Bf,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,EACxB,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EACrB,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,EACtB,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,UAAU;IAqBf,YAAY,CACV,EAAE,EAAE,GAAG,CAAC,YAAY,EACpB,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EACjC,KAAK,EAAE,OAAO,GACb,CAAC,CAAC,UAAU;IAwFf,QAAQ,CAAC,CAAC,EACR,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAClB,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EACxB,IAAI,EAAE,OAAO,GACZ,CAAC,CAAC,UAAU;IAkBf,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;IAuB1D,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,UAAU;CAOjE"}
|
package/dist/display/visitor.js
CHANGED
|
@@ -2,6 +2,31 @@ import * as z from "zod";
|
|
|
2
2
|
import { IDL } from "@icp-sdk/core/candid";
|
|
3
3
|
import { Principal } from "@icp-sdk/core/principal";
|
|
4
4
|
import { createVariant, nonNullish, uint8ArrayToHex, hexToUint8Array, isNullish, } from "../utils";
|
|
5
|
+
function createFixedNumberCodec(bits, signed) {
|
|
6
|
+
const min = signed ? -(2 ** (bits - 1)) : 0;
|
|
7
|
+
const max = signed ? 2 ** (bits - 1) - 1 : 2 ** bits - 1;
|
|
8
|
+
const integerPattern = signed ? /^-?\d+$/ : /^\d+$/;
|
|
9
|
+
const typeName = `${signed ? "int" : "nat"}${bits}`;
|
|
10
|
+
const parseDisplayNumber = (val) => {
|
|
11
|
+
const num = typeof val === "string" ? Number(val) : val;
|
|
12
|
+
if (typeof val === "string" && !integerPattern.test(val)) {
|
|
13
|
+
throw new TypeError(`[ic-reactor] Invalid ${typeName} display value: expected an integer string, got "${val}"`);
|
|
14
|
+
}
|
|
15
|
+
if (!Number.isInteger(num)) {
|
|
16
|
+
throw new TypeError(`[ic-reactor] Invalid ${typeName} display value: expected an integer, got ${String(val)}`);
|
|
17
|
+
}
|
|
18
|
+
if (num < min || num > max) {
|
|
19
|
+
throw new RangeError(`[ic-reactor] Invalid ${typeName} display value: expected ${min}..${max}, got ${String(val)}`);
|
|
20
|
+
}
|
|
21
|
+
return num;
|
|
22
|
+
};
|
|
23
|
+
return z.codec(z.number().int().min(min).max(max), // Candid format
|
|
24
|
+
z.union([z.number(), z.string()]), // Display format
|
|
25
|
+
{
|
|
26
|
+
decode: (val) => val,
|
|
27
|
+
encode: parseDisplayNumber,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
5
30
|
export class DisplayCodecVisitor extends IDL.Visitor {
|
|
6
31
|
constructor() {
|
|
7
32
|
super(...arguments);
|
|
@@ -58,8 +83,9 @@ export class DisplayCodecVisitor extends IDL.Visitor {
|
|
|
58
83
|
visitFixedInt(t, _data) {
|
|
59
84
|
const bits = t._bits;
|
|
60
85
|
if (bits <= 32) {
|
|
61
|
-
// 32-bit integers stay as numbers
|
|
62
|
-
|
|
86
|
+
// 32-bit integers stay as numbers for display, but form inputs may
|
|
87
|
+
// submit numeric strings that must be converted before IDL.encode.
|
|
88
|
+
return createFixedNumberCodec(bits, true);
|
|
63
89
|
}
|
|
64
90
|
else {
|
|
65
91
|
// 64-bit integers: bigint ↔ string
|
|
@@ -74,7 +100,7 @@ export class DisplayCodecVisitor extends IDL.Visitor {
|
|
|
74
100
|
visitFixedNat(t, _data) {
|
|
75
101
|
const bits = t._bits;
|
|
76
102
|
if (bits <= 32) {
|
|
77
|
-
return
|
|
103
|
+
return createFixedNumberCodec(bits, false);
|
|
78
104
|
}
|
|
79
105
|
else {
|
|
80
106
|
return z.codec(z.bigint(), // Candid format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../src/display/visitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-attributes.d.ts","sourceRoot":"","sources":["../src/identity-attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,gBAAgB,CAAA;AAEvB,eAAO,MAAM,iCAAiC,iCAAiC,CAAA;AAQ/E,wBAAgB,qBAAqB,CAAC,EACpC,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,MAAM,EAAE,CAGX;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,+BAA+B,GAC9C,MAAM,CAMR;AAED,wBAAsB,4BAA4B,CAAC,EACjD,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EAAE,GACtB,uBAAuB,CAgBzB;
|
|
1
|
+
{"version":3,"file":"identity-attributes.d.ts","sourceRoot":"","sources":["../src/identity-attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,gBAAgB,CAAA;AAEvB,eAAO,MAAM,iCAAiC,iCAAiC,CAAA;AAQ/E,wBAAgB,qBAAqB,CAAC,EACpC,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,MAAM,EAAE,CAGX;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,+BAA+B,GAC9C,MAAM,CAMR;AAED,wBAAsB,4BAA4B,CAAC,EACjD,cAAc,EACd,IAAI,GACL,EAAE;IACD,cAAc,EAAE,+BAA+B,CAAA;IAC/C,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EAAE,GACtB,uBAAuB,CAgBzB;AAsLD,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,wBAAwB,GACnC,wBAAwB,CAK1B"}
|
|
@@ -114,7 +114,9 @@ function extractPrintableAttributeValues(data, requestedKeys) {
|
|
|
114
114
|
}
|
|
115
115
|
const tail = text.slice(start + requestedKey.length);
|
|
116
116
|
const printableRuns = tail.match(/[\x20-\x7E]{2,512}/g) ?? [];
|
|
117
|
-
const value = printableRuns
|
|
117
|
+
const value = printableRuns
|
|
118
|
+
.map((candidate) => cleanPrintableAttributeValue(candidate, requestedKeys))
|
|
119
|
+
.find((candidate) => isPrintableTextValue(candidate) &&
|
|
118
120
|
candidate !== requestedKey &&
|
|
119
121
|
!candidate.startsWith("openid:"));
|
|
120
122
|
if (value) {
|
|
@@ -123,6 +125,27 @@ function extractPrintableAttributeValues(data, requestedKeys) {
|
|
|
123
125
|
}
|
|
124
126
|
return values;
|
|
125
127
|
}
|
|
128
|
+
function cleanPrintableAttributeValue(value, requestedKeys) {
|
|
129
|
+
let cleaned = value;
|
|
130
|
+
for (const requestedKey of requestedKeys) {
|
|
131
|
+
const nextKeyIndex = cleaned.indexOf(requestedKey);
|
|
132
|
+
if (nextKeyIndex > 0) {
|
|
133
|
+
cleaned = cleaned.slice(0, trimCandidTextLengthPrefix(cleaned, nextKeyIndex));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const nextOpenIdKeyMatch = /\d*openid:/.exec(cleaned);
|
|
137
|
+
if (nextOpenIdKeyMatch?.index && nextOpenIdKeyMatch.index > 0) {
|
|
138
|
+
cleaned = cleaned.slice(0, nextOpenIdKeyMatch.index);
|
|
139
|
+
}
|
|
140
|
+
return cleaned.trim();
|
|
141
|
+
}
|
|
142
|
+
function trimCandidTextLengthPrefix(value, index) {
|
|
143
|
+
let trimmedIndex = index;
|
|
144
|
+
while (trimmedIndex > 0 && /\d/.test(value[trimmedIndex - 1])) {
|
|
145
|
+
trimmedIndex -= 1;
|
|
146
|
+
}
|
|
147
|
+
return trimmedIndex;
|
|
148
|
+
}
|
|
126
149
|
function identityAttributeDisplayKey(key) {
|
|
127
150
|
return key.split(":").pop() || key;
|
|
128
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-attributes.js","sourceRoot":"","sources":["../src/identity-attributes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"identity-attributes.js","sourceRoot":"","sources":["../src/identity-attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,6 @@ export declare const REMOTE_HOSTS: string[];
|
|
|
2
2
|
export declare const LOCAL_HOSTS: string[];
|
|
3
3
|
export declare const IC_HOST_NETWORK_URI = "https://ic0.app";
|
|
4
4
|
export declare const LOCAL_HOST_NETWORK_URI = "http://127.0.0.1:4943";
|
|
5
|
-
export declare const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai";
|
|
5
|
+
export declare const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai/authorize";
|
|
6
6
|
export declare const LOCAL_INTERNET_IDENTITY_PROVIDER = "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943";
|
|
7
7
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,UAAgC,CAAA;AAEzD,eAAO,MAAM,WAAW,UAA6B,CAAA;AAErD,eAAO,MAAM,mBAAmB,oBAAoB,CAAA;AAEpD,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAE7D,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,UAAgC,CAAA;AAEzD,eAAO,MAAM,WAAW,UAA6B,CAAA;AAErD,eAAO,MAAM,mBAAmB,oBAAoB,CAAA;AAEpD,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAE7D,eAAO,MAAM,6BAA6B,4BAA4B,CAAA;AAEtE,eAAO,MAAM,gCAAgC,sDACQ,CAAA"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -2,6 +2,6 @@ export const REMOTE_HOSTS = [".github.dev", ".gitpod.io"];
|
|
|
2
2
|
export const LOCAL_HOSTS = ["localhost", "127.0.0.1"];
|
|
3
3
|
export const IC_HOST_NETWORK_URI = "https://ic0.app";
|
|
4
4
|
export const LOCAL_HOST_NETWORK_URI = "http://127.0.0.1:4943";
|
|
5
|
-
export const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai";
|
|
5
|
+
export const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai/authorize";
|
|
6
6
|
export const LOCAL_INTERNET_IDENTITY_PROVIDER = "http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943";
|
|
7
7
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;AAEpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAA;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAA;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;AAEpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAA;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAA;AAEtE,MAAM,CAAC,MAAM,gCAAgC,GAC3C,mDAAmD,CAAA"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -29,8 +29,8 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
decodeIdentityAttributeValues,
|
|
31
31
|
IDENTITY_ATTRIBUTES_BETA_PROVIDER,
|
|
32
|
+
identityAttributeKeys,
|
|
32
33
|
normalizeSignedIdentityAttributes,
|
|
33
|
-
resolveIdentityAttributeKeys,
|
|
34
34
|
} from "./identity-attributes"
|
|
35
35
|
|
|
36
36
|
type AuthClientConstructor = {
|
|
@@ -80,6 +80,10 @@ export class ClientManager {
|
|
|
80
80
|
|
|
81
81
|
private initPromise?: Promise<void>
|
|
82
82
|
private authPromise?: Promise<Identity | undefined>
|
|
83
|
+
private authClientConstructor?: AuthClientConstructor
|
|
84
|
+
private authClientConstructorPromise?: Promise<
|
|
85
|
+
AuthClientConstructor | undefined
|
|
86
|
+
>
|
|
83
87
|
private authStateRevision = 0
|
|
84
88
|
private authClientWasProvided = false
|
|
85
89
|
private port: number
|
|
@@ -187,6 +191,10 @@ export class ClientManager {
|
|
|
187
191
|
this.syncAuthStateFromClient(this.authStateRevision).catch((error) => {
|
|
188
192
|
this.updateAuthState({ error: error as Error, isAuthenticating: false })
|
|
189
193
|
})
|
|
194
|
+
} else if (typeof window !== "undefined") {
|
|
195
|
+
this.loadAuthClientConstructor().catch(() => {
|
|
196
|
+
// Optional auth support is reported when an auth method is used.
|
|
197
|
+
})
|
|
190
198
|
}
|
|
191
199
|
}
|
|
192
200
|
|
|
@@ -203,6 +211,25 @@ export class ClientManager {
|
|
|
203
211
|
return this
|
|
204
212
|
}
|
|
205
213
|
|
|
214
|
+
/**
|
|
215
|
+
* Preloads and creates an AuthClient before a user gesture is needed.
|
|
216
|
+
*
|
|
217
|
+
* Browser signer transports must open their channel directly from a click
|
|
218
|
+
* handler. Apps that pass dynamic auth options, such as OpenID provider
|
|
219
|
+
* aliases, can call this from hover/focus/effect code so the later click path
|
|
220
|
+
* can call signIn/requestAttributes without first awaiting a dynamic import.
|
|
221
|
+
*/
|
|
222
|
+
public async prepareAuthClient(options?: ClientManagerAuthClientOptions) {
|
|
223
|
+
if (
|
|
224
|
+
this.#authClient &&
|
|
225
|
+
(!this.shouldRecreateAuthClient(options) || this.authClientWasProvided)
|
|
226
|
+
) {
|
|
227
|
+
return this.#authClient
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return this.initializeAuthClient(options)
|
|
231
|
+
}
|
|
232
|
+
|
|
206
233
|
/**
|
|
207
234
|
* Specifically initializes the HttpAgent.
|
|
208
235
|
* On local networks, this includes fetching the root key for certificate verification.
|
|
@@ -325,11 +352,6 @@ export class ClientManager {
|
|
|
325
352
|
let didCompleteSignIn = false
|
|
326
353
|
|
|
327
354
|
try {
|
|
328
|
-
// Ensure agent is initialized before login
|
|
329
|
-
if (!this.agentState.isInitialized) {
|
|
330
|
-
await this.initializeAgent()
|
|
331
|
-
}
|
|
332
|
-
|
|
333
355
|
const identityProvider =
|
|
334
356
|
loginOptions?.identityProvider || this.getDefaultIdentityProvider()
|
|
335
357
|
const authClientOptions = getAuthClientOptions({
|
|
@@ -337,10 +359,7 @@ export class ClientManager {
|
|
|
337
359
|
identityProvider,
|
|
338
360
|
})
|
|
339
361
|
|
|
340
|
-
if (
|
|
341
|
-
!this.#authClient ||
|
|
342
|
-
this.shouldRecreateAuthClient(authClientOptions)
|
|
343
|
-
) {
|
|
362
|
+
if (!this.ensurePreparedAuthClient(authClientOptions)) {
|
|
344
363
|
await this.initializeAuthClient(authClientOptions)
|
|
345
364
|
}
|
|
346
365
|
|
|
@@ -356,9 +375,14 @@ export class ClientManager {
|
|
|
356
375
|
|
|
357
376
|
this.updateAuthState({ isAuthenticating: true, error: undefined })
|
|
358
377
|
|
|
359
|
-
const identity = await this
|
|
378
|
+
const identity = await this.signInOrRecoverAuthenticatedIdentity(
|
|
360
379
|
getSignInOptions(loginOptions)
|
|
361
380
|
)
|
|
381
|
+
|
|
382
|
+
if (!this.agentState.isInitialized) {
|
|
383
|
+
await this.initializeAgent()
|
|
384
|
+
}
|
|
385
|
+
|
|
362
386
|
this.updateAgent(identity)
|
|
363
387
|
this.updateAuthState({
|
|
364
388
|
identity,
|
|
@@ -420,17 +444,13 @@ export class ClientManager {
|
|
|
420
444
|
maxTimeToLive,
|
|
421
445
|
targets,
|
|
422
446
|
}: RequestIdentityAttributesParameters): Promise<IdentityAttributeResult> => {
|
|
423
|
-
if (!this.agentState.isInitialized) {
|
|
424
|
-
await this.initializeAgent()
|
|
425
|
-
}
|
|
426
|
-
|
|
427
447
|
const authClientOptions = getAuthClientOptions({
|
|
428
448
|
identityProvider,
|
|
429
449
|
windowOpenerFeatures,
|
|
430
450
|
openIdProvider,
|
|
431
451
|
})
|
|
432
452
|
|
|
433
|
-
if (!this
|
|
453
|
+
if (!this.ensurePreparedAuthClient(authClientOptions)) {
|
|
434
454
|
await this.initializeAuthClient(authClientOptions)
|
|
435
455
|
}
|
|
436
456
|
|
|
@@ -447,16 +467,16 @@ export class ClientManager {
|
|
|
447
467
|
this.updateAuthState({ isAuthenticating: true, error: undefined })
|
|
448
468
|
|
|
449
469
|
try {
|
|
450
|
-
const requestPromise = this.#authClient.requestAttributes({
|
|
451
|
-
keys,
|
|
452
|
-
nonce,
|
|
453
|
-
})
|
|
454
470
|
const identityPromise = signIn
|
|
455
|
-
? this
|
|
471
|
+
? this.signInOrRecoverAuthenticatedIdentity({
|
|
456
472
|
maxTimeToLive,
|
|
457
473
|
targets,
|
|
458
474
|
})
|
|
459
475
|
: Promise.resolve(this.#authClient.getIdentity())
|
|
476
|
+
const requestPromise = this.#authClient.requestAttributes({
|
|
477
|
+
keys,
|
|
478
|
+
nonce,
|
|
479
|
+
})
|
|
460
480
|
|
|
461
481
|
const [signedAttributes, identity] = await Promise.all([
|
|
462
482
|
requestPromise,
|
|
@@ -465,6 +485,9 @@ export class ClientManager {
|
|
|
465
485
|
|
|
466
486
|
const finalIdentity = identity ?? (await this.#authClient.getIdentity())
|
|
467
487
|
const isAuthenticated = await this.#authClient.isAuthenticated()
|
|
488
|
+
if (!this.agentState.isInitialized) {
|
|
489
|
+
await this.initializeAgent()
|
|
490
|
+
}
|
|
468
491
|
this.updateAgent(finalIdentity)
|
|
469
492
|
this.updateAuthState({
|
|
470
493
|
identity: finalIdentity,
|
|
@@ -502,7 +525,7 @@ export class ClientManager {
|
|
|
502
525
|
targets,
|
|
503
526
|
}: RequestOpenIdIdentityAttributesParameters): Promise<IdentityAttributeResult> => {
|
|
504
527
|
return this.requestIdentityAttributes({
|
|
505
|
-
keys:
|
|
528
|
+
keys: identityAttributeKeys({ openIdProvider, keys }),
|
|
506
529
|
nonce,
|
|
507
530
|
identityProvider,
|
|
508
531
|
openIdProvider,
|
|
@@ -530,32 +553,106 @@ export class ClientManager {
|
|
|
530
553
|
private async initializeAuthClient(
|
|
531
554
|
options?: ClientManagerAuthClientOptions
|
|
532
555
|
): Promise<AuthClientLike | undefined> {
|
|
533
|
-
const
|
|
534
|
-
this.authModuleMissing = true
|
|
535
|
-
return null
|
|
536
|
-
})
|
|
556
|
+
const AuthClient = await this.loadAuthClientConstructor()
|
|
537
557
|
|
|
538
|
-
if (!
|
|
539
|
-
this.authModuleMissing = true
|
|
558
|
+
if (!AuthClient) {
|
|
540
559
|
return undefined
|
|
541
560
|
}
|
|
542
561
|
|
|
543
|
-
this.#authClient = this.createAuthClient(
|
|
562
|
+
this.#authClient = this.createAuthClient(AuthClient, options)
|
|
544
563
|
return this.#authClient
|
|
545
564
|
}
|
|
546
565
|
|
|
566
|
+
private async signInOrRecoverAuthenticatedIdentity(
|
|
567
|
+
options?: AuthClientSignInOptions
|
|
568
|
+
): Promise<Identity> {
|
|
569
|
+
if (!this.#authClient) {
|
|
570
|
+
throw new Error(
|
|
571
|
+
"Authentication module is missing or failed to initialize. To use login, please install the auth package: npm install @icp-sdk/auth"
|
|
572
|
+
)
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
try {
|
|
576
|
+
return await this.#authClient.signIn(options)
|
|
577
|
+
} catch (error) {
|
|
578
|
+
const identity = await Promise.resolve(
|
|
579
|
+
this.#authClient.getIdentity()
|
|
580
|
+
).catch(() => null)
|
|
581
|
+
const isAuthenticated = await Promise.resolve(
|
|
582
|
+
this.#authClient.isAuthenticated()
|
|
583
|
+
).catch(() => false)
|
|
584
|
+
|
|
585
|
+
if (identity && isAuthenticated) {
|
|
586
|
+
return identity
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
throw error
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
private async loadAuthClientConstructor(): Promise<
|
|
594
|
+
AuthClientConstructor | undefined
|
|
595
|
+
> {
|
|
596
|
+
if (this.authClientConstructor) {
|
|
597
|
+
return this.authClientConstructor
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
if (!this.authClientConstructorPromise) {
|
|
601
|
+
this.authClientConstructorPromise = import("@icp-sdk/auth/client")
|
|
602
|
+
.then((authModule) => {
|
|
603
|
+
const AuthClient = (
|
|
604
|
+
authModule as { AuthClient?: AuthClientConstructor }
|
|
605
|
+
).AuthClient
|
|
606
|
+
|
|
607
|
+
if (!AuthClient) {
|
|
608
|
+
throw new Error("@icp-sdk/auth/client did not export AuthClient")
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
this.authClientConstructor = AuthClient
|
|
612
|
+
return AuthClient
|
|
613
|
+
})
|
|
614
|
+
.catch((error) => {
|
|
615
|
+
this.authModuleMissing = true
|
|
616
|
+
this.authClientConstructorPromise = undefined
|
|
617
|
+
if (
|
|
618
|
+
error instanceof Error &&
|
|
619
|
+
error.message.includes("did not export AuthClient")
|
|
620
|
+
) {
|
|
621
|
+
throw error
|
|
622
|
+
}
|
|
623
|
+
return undefined
|
|
624
|
+
})
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
return this.authClientConstructorPromise
|
|
628
|
+
}
|
|
629
|
+
|
|
547
630
|
private createAuthClient(
|
|
548
|
-
|
|
631
|
+
AuthClient: AuthClientConstructor,
|
|
549
632
|
options?: ClientManagerAuthClientOptions
|
|
550
633
|
): AuthClientLike {
|
|
551
|
-
|
|
552
|
-
|
|
634
|
+
return new AuthClient(options)
|
|
635
|
+
}
|
|
553
636
|
|
|
554
|
-
|
|
555
|
-
|
|
637
|
+
private ensurePreparedAuthClient(
|
|
638
|
+
options?: ClientManagerAuthClientOptions
|
|
639
|
+
): AuthClientLike | undefined {
|
|
640
|
+
if (
|
|
641
|
+
this.#authClient &&
|
|
642
|
+
(!this.shouldRecreateAuthClient(options) || this.authClientWasProvided)
|
|
643
|
+
) {
|
|
644
|
+
return this.#authClient
|
|
556
645
|
}
|
|
557
646
|
|
|
558
|
-
|
|
647
|
+
if (!this.authClientConstructor || this.authClientWasProvided) {
|
|
648
|
+
return undefined
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
this.#authClient = this.createAuthClient(
|
|
652
|
+
this.authClientConstructor,
|
|
653
|
+
options
|
|
654
|
+
)
|
|
655
|
+
return this.#authClient
|
|
559
656
|
}
|
|
560
657
|
|
|
561
658
|
private shouldRecreateAuthClient(
|
package/src/display/visitor.ts
CHANGED
|
@@ -9,6 +9,46 @@ import {
|
|
|
9
9
|
isNullish,
|
|
10
10
|
} from "../utils"
|
|
11
11
|
|
|
12
|
+
function createFixedNumberCodec(bits: number, signed: boolean): z.ZodTypeAny {
|
|
13
|
+
const min = signed ? -(2 ** (bits - 1)) : 0
|
|
14
|
+
const max = signed ? 2 ** (bits - 1) - 1 : 2 ** bits - 1
|
|
15
|
+
const integerPattern = signed ? /^-?\d+$/ : /^\d+$/
|
|
16
|
+
const typeName = `${signed ? "int" : "nat"}${bits}`
|
|
17
|
+
|
|
18
|
+
const parseDisplayNumber = (val: string | number): number => {
|
|
19
|
+
const num = typeof val === "string" ? Number(val) : val
|
|
20
|
+
|
|
21
|
+
if (typeof val === "string" && !integerPattern.test(val)) {
|
|
22
|
+
throw new TypeError(
|
|
23
|
+
`[ic-reactor] Invalid ${typeName} display value: expected an integer string, got "${val}"`
|
|
24
|
+
)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!Number.isInteger(num)) {
|
|
28
|
+
throw new TypeError(
|
|
29
|
+
`[ic-reactor] Invalid ${typeName} display value: expected an integer, got ${String(val)}`
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (num < min || num > max) {
|
|
34
|
+
throw new RangeError(
|
|
35
|
+
`[ic-reactor] Invalid ${typeName} display value: expected ${min}..${max}, got ${String(val)}`
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return num
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return z.codec(
|
|
43
|
+
z.number().int().min(min).max(max), // Candid format
|
|
44
|
+
z.union([z.number(), z.string()]), // Display format
|
|
45
|
+
{
|
|
46
|
+
decode: (val) => val,
|
|
47
|
+
encode: parseDisplayNumber,
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
|
|
12
52
|
export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
|
|
13
53
|
private _recCache = new Map<IDL.RecClass, z.ZodTypeAny>()
|
|
14
54
|
|
|
@@ -74,8 +114,9 @@ export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
|
|
|
74
114
|
const bits = t._bits
|
|
75
115
|
|
|
76
116
|
if (bits <= 32) {
|
|
77
|
-
// 32-bit integers stay as numbers
|
|
78
|
-
|
|
117
|
+
// 32-bit integers stay as numbers for display, but form inputs may
|
|
118
|
+
// submit numeric strings that must be converted before IDL.encode.
|
|
119
|
+
return createFixedNumberCodec(bits, true)
|
|
79
120
|
} else {
|
|
80
121
|
// 64-bit integers: bigint ↔ string
|
|
81
122
|
return z.codec(
|
|
@@ -93,7 +134,7 @@ export class DisplayCodecVisitor extends IDL.Visitor<unknown, z.ZodTypeAny> {
|
|
|
93
134
|
const bits = t._bits
|
|
94
135
|
|
|
95
136
|
if (bits <= 32) {
|
|
96
|
-
return
|
|
137
|
+
return createFixedNumberCodec(bits, false)
|
|
97
138
|
} else {
|
|
98
139
|
return z.codec(
|
|
99
140
|
z.bigint(), // Candid format
|
|
@@ -187,12 +187,16 @@ function extractPrintableAttributeValues(
|
|
|
187
187
|
|
|
188
188
|
const tail = text.slice(start + requestedKey.length)
|
|
189
189
|
const printableRuns = tail.match(/[\x20-\x7E]{2,512}/g) ?? []
|
|
190
|
-
const value = printableRuns
|
|
191
|
-
(candidate) =>
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
const value = printableRuns
|
|
191
|
+
.map((candidate) =>
|
|
192
|
+
cleanPrintableAttributeValue(candidate, requestedKeys)
|
|
193
|
+
)
|
|
194
|
+
.find(
|
|
195
|
+
(candidate) =>
|
|
196
|
+
isPrintableTextValue(candidate) &&
|
|
197
|
+
candidate !== requestedKey &&
|
|
198
|
+
!candidate.startsWith("openid:")
|
|
199
|
+
)
|
|
196
200
|
|
|
197
201
|
if (value) {
|
|
198
202
|
values[identityAttributeDisplayKey(requestedKey)] = value.trim()
|
|
@@ -202,6 +206,38 @@ function extractPrintableAttributeValues(
|
|
|
202
206
|
return values
|
|
203
207
|
}
|
|
204
208
|
|
|
209
|
+
function cleanPrintableAttributeValue(
|
|
210
|
+
value: string,
|
|
211
|
+
requestedKeys: string[]
|
|
212
|
+
): string {
|
|
213
|
+
let cleaned = value
|
|
214
|
+
|
|
215
|
+
for (const requestedKey of requestedKeys) {
|
|
216
|
+
const nextKeyIndex = cleaned.indexOf(requestedKey)
|
|
217
|
+
if (nextKeyIndex > 0) {
|
|
218
|
+
cleaned = cleaned.slice(
|
|
219
|
+
0,
|
|
220
|
+
trimCandidTextLengthPrefix(cleaned, nextKeyIndex)
|
|
221
|
+
)
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
const nextOpenIdKeyMatch = /\d*openid:/.exec(cleaned)
|
|
226
|
+
if (nextOpenIdKeyMatch?.index && nextOpenIdKeyMatch.index > 0) {
|
|
227
|
+
cleaned = cleaned.slice(0, nextOpenIdKeyMatch.index)
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return cleaned.trim()
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
function trimCandidTextLengthPrefix(value: string, index: number): number {
|
|
234
|
+
let trimmedIndex = index
|
|
235
|
+
while (trimmedIndex > 0 && /\d/.test(value[trimmedIndex - 1])) {
|
|
236
|
+
trimmedIndex -= 1
|
|
237
|
+
}
|
|
238
|
+
return trimmedIndex
|
|
239
|
+
}
|
|
240
|
+
|
|
205
241
|
function identityAttributeDisplayKey(key: string): string {
|
|
206
242
|
return key.split(":").pop() || key
|
|
207
243
|
}
|
package/src/utils/constants.ts
CHANGED
|
@@ -6,7 +6,7 @@ export const IC_HOST_NETWORK_URI = "https://ic0.app"
|
|
|
6
6
|
|
|
7
7
|
export const LOCAL_HOST_NETWORK_URI = "http://127.0.0.1:4943"
|
|
8
8
|
|
|
9
|
-
export const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai"
|
|
9
|
+
export const IC_INTERNET_IDENTITY_PROVIDER = "https://id.ai/authorize"
|
|
10
10
|
|
|
11
11
|
export const LOCAL_INTERNET_IDENTITY_PROVIDER =
|
|
12
12
|
"http://rdmx6-jaaaa-aaaaa-aaadq-cai.localhost:4943"
|