@ic-reactor/core 3.4.0 → 3.5.0
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/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/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":"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"}
|
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":"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(
|
|
@@ -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"
|