@ic-reactor/react 3.7.0 → 3.9.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.
Files changed (107) hide show
  1. package/README.md +158 -9
  2. package/dist/auth/authentication-manager.d.ts +37 -5
  3. package/dist/auth/authentication-manager.d.ts.map +1 -1
  4. package/dist/auth/authentication-manager.js +242 -52
  5. package/dist/auth/authentication-manager.js.map +1 -1
  6. package/dist/auth/createIdentityAttributeHooks.d.ts +2 -2
  7. package/dist/auth/createIdentityAttributeHooks.d.ts.map +1 -1
  8. package/dist/auth/identity-attributes-manager.d.ts +12 -5
  9. package/dist/auth/identity-attributes-manager.d.ts.map +1 -1
  10. package/dist/auth/identity-attributes-manager.js +42 -28
  11. package/dist/auth/identity-attributes-manager.js.map +1 -1
  12. package/dist/auth/identity-attributes.d.ts +1 -1
  13. package/dist/auth/identity-attributes.d.ts.map +1 -1
  14. package/dist/auth/identity-attributes.js +1 -1
  15. package/dist/auth/identity-attributes.js.map +1 -1
  16. package/dist/auth/index.d.ts +7 -7
  17. package/dist/auth/index.d.ts.map +1 -1
  18. package/dist/auth/index.js +7 -7
  19. package/dist/auth/index.js.map +1 -1
  20. package/dist/auth/types.d.ts +123 -16
  21. package/dist/auth/types.d.ts.map +1 -1
  22. package/dist/createActorHooks.d.ts +4 -4
  23. package/dist/createActorHooks.d.ts.map +1 -1
  24. package/dist/createActorHooks.js +6 -6
  25. package/dist/createActorHooks.js.map +1 -1
  26. package/dist/createInfiniteQuery.d.ts +12 -10
  27. package/dist/createInfiniteQuery.d.ts.map +1 -1
  28. package/dist/createInfiniteQuery.js +20 -17
  29. package/dist/createInfiniteQuery.js.map +1 -1
  30. package/dist/createMutation.d.ts +1 -1
  31. package/dist/createMutation.d.ts.map +1 -1
  32. package/dist/createMutation.js +22 -2
  33. package/dist/createMutation.js.map +1 -1
  34. package/dist/createQuery.d.ts +1 -1
  35. package/dist/createQuery.d.ts.map +1 -1
  36. package/dist/createQuery.js +6 -2
  37. package/dist/createQuery.js.map +1 -1
  38. package/dist/createSuspenseInfiniteQuery.d.ts +11 -10
  39. package/dist/createSuspenseInfiniteQuery.d.ts.map +1 -1
  40. package/dist/createSuspenseInfiniteQuery.js +18 -16
  41. package/dist/createSuspenseInfiniteQuery.js.map +1 -1
  42. package/dist/createSuspenseQuery.d.ts +1 -1
  43. package/dist/createSuspenseQuery.d.ts.map +1 -1
  44. package/dist/createSuspenseQuery.js +6 -2
  45. package/dist/createSuspenseQuery.js.map +1 -1
  46. package/dist/defineReactor.d.ts +54 -4
  47. package/dist/defineReactor.d.ts.map +1 -1
  48. package/dist/defineReactor.js +77 -7
  49. package/dist/defineReactor.js.map +1 -1
  50. package/dist/hooks/createAuthHooks.d.ts +2 -2
  51. package/dist/hooks/createAuthHooks.d.ts.map +1 -1
  52. package/dist/hooks/createAuthHooks.js +7 -2
  53. package/dist/hooks/createAuthHooks.js.map +1 -1
  54. package/dist/hooks/useActorInfiniteQuery.d.ts.map +1 -1
  55. package/dist/hooks/useActorInfiniteQuery.js +16 -2
  56. package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
  57. package/dist/hooks/useActorMethod.d.ts.map +1 -1
  58. package/dist/hooks/useActorMethod.js +66 -33
  59. package/dist/hooks/useActorMethod.js.map +1 -1
  60. package/dist/hooks/useActorMutation.d.ts +8 -1
  61. package/dist/hooks/useActorMutation.d.ts.map +1 -1
  62. package/dist/hooks/useActorMutation.js +9 -1
  63. package/dist/hooks/useActorMutation.js.map +1 -1
  64. package/dist/hooks/useActorSuspenseInfiniteQuery.d.ts.map +1 -1
  65. package/dist/hooks/useActorSuspenseInfiniteQuery.js +16 -2
  66. package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
  67. package/dist/index.d.ts +11 -11
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +11 -11
  70. package/dist/index.js.map +1 -1
  71. package/dist/types.d.ts +8 -2
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/utils.d.ts +14 -5
  74. package/dist/utils.d.ts.map +1 -1
  75. package/dist/utils.js +21 -10
  76. package/dist/utils.js.map +1 -1
  77. package/llms.txt +1 -1
  78. package/package.json +14 -9
  79. package/src/auth/authentication-manager.ts +267 -64
  80. package/src/auth/createIdentityAttributeHooks.ts +2 -2
  81. package/src/auth/identity-attributes-manager.ts +53 -44
  82. package/src/auth/identity-attributes.ts +2 -2
  83. package/src/auth/index.ts +7 -7
  84. package/src/auth/types.ts +134 -18
  85. package/src/createActorHooks.ts +9 -9
  86. package/src/createInfiniteQuery.ts +49 -35
  87. package/src/createMutation.ts +33 -3
  88. package/src/createQuery.ts +10 -3
  89. package/src/createSuspenseInfiniteQuery.ts +45 -33
  90. package/src/createSuspenseQuery.ts +10 -3
  91. package/src/defineReactor.ts +136 -14
  92. package/src/hooks/createAuthHooks.ts +8 -3
  93. package/src/hooks/useActorInfiniteQuery.ts +25 -3
  94. package/src/hooks/useActorMethod.ts +82 -34
  95. package/src/hooks/useActorMutation.ts +19 -4
  96. package/src/hooks/useActorSuspenseInfiniteQuery.ts +25 -3
  97. package/src/index.ts +11 -11
  98. package/src/types.ts +8 -2
  99. package/src/utils.ts +21 -10
  100. package/src/defineReactor.test.ts +0 -70
  101. package/src/hooks/useActorInfiniteQuery.test.tsx +0 -457
  102. package/src/hooks/useActorMethod.test.tsx +0 -798
  103. package/src/hooks/useActorMutation.test.tsx +0 -220
  104. package/src/hooks/useActorQuery.test.tsx +0 -287
  105. package/src/hooks/useActorSuspenseInfiniteQuery.test.tsx +0 -472
  106. package/src/hooks/useActorSuspenseQuery.test.tsx +0 -254
  107. package/src/utils.test.ts +0 -14
@@ -1,7 +1,7 @@
1
- import { isDev } from "@ic-reactor/core";
1
+ import { isDev, isMainnetHost } from "@ic-reactor/core";
2
+ import { Principal } from "@icp-sdk/core/principal";
2
3
  import { safeGetCanisterEnv } from "@icp-sdk/core/agent/canister-env";
3
- import { IC_INTERNET_IDENTITY_PROVIDER, INTERNET_IDENTITY_PROVIDER_ENV_KEY, localInternetIdentityProvider, } from "./constants";
4
- const AUTH_CLIENT_MODULE = "@icp-sdk/auth/client";
4
+ import { IC_INTERNET_IDENTITY_PROVIDER, INTERNET_IDENTITY_PROVIDER_ENV_KEY, localInternetIdentityProvider, } from "./constants.js";
5
5
  /**
6
6
  * Manages Internet Identity sign-in, session restoration, and authentication
7
7
  * state for a {@link ClientManager}.
@@ -17,7 +17,7 @@ export class AuthenticationManager {
17
17
  get authState() {
18
18
  return this.authStateValue;
19
19
  }
20
- constructor({ clientManager, authClient, identityProvider, internetIdentityId, }) {
20
+ constructor({ clientManager, authClient, identityProvider, internetIdentityId, ...clientOptions }) {
21
21
  Object.defineProperty(this, "authClient", {
22
22
  enumerable: true,
23
23
  configurable: true,
@@ -66,6 +66,12 @@ export class AuthenticationManager {
66
66
  writable: true,
67
67
  value: false
68
68
  });
69
+ Object.defineProperty(this, "authClientOptions", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
69
75
  Object.defineProperty(this, "authStateValue", {
70
76
  enumerable: true,
71
77
  configurable: true,
@@ -89,6 +95,12 @@ export class AuthenticationManager {
89
95
  writable: true,
90
96
  value: void 0
91
97
  });
98
+ Object.defineProperty(this, "defaultClientOptions", {
99
+ enumerable: true,
100
+ configurable: true,
101
+ writable: true,
102
+ value: void 0
103
+ });
92
104
  Object.defineProperty(this, "clientManager", {
93
105
  enumerable: true,
94
106
  configurable: true,
@@ -101,7 +113,22 @@ export class AuthenticationManager {
101
113
  writable: true,
102
114
  value: async () => {
103
115
  if (this.authState.isAuthenticated) {
104
- return this.authState.identity || undefined;
116
+ // Returning on the cached flag alone meant a delegation that expired
117
+ // mid-session was never re-observed: the UI kept rendering a signed-in
118
+ // state while every update call failed, and only a reload recovered.
119
+ // Re-ask the client, which reads the cached expiry rather than hitting
120
+ // storage. A throw here is treated as "still valid" so a transient
121
+ // failure cannot sign anyone out.
122
+ if (!this.authClient) {
123
+ return this.authState.identity || undefined;
124
+ }
125
+ const stillValid = await Promise.resolve(this.authClient.isAuthenticated()).catch(() => true);
126
+ if (stillValid) {
127
+ return this.authState.identity || undefined;
128
+ }
129
+ // Expired — drop the stale flag and fall through to re-derive state,
130
+ // which resets the agent to the anonymous identity.
131
+ this.updateState({ isAuthenticated: false });
105
132
  }
106
133
  if (this.authPromise) {
107
134
  return this.authPromise;
@@ -119,9 +146,7 @@ export class AuthenticationManager {
119
146
  this.updateState({ isAuthenticating: true });
120
147
  try {
121
148
  if (!this.authClient) {
122
- const authClient = await this.initializeClient(getAuthClientOptions({
123
- identityProvider: this.getDefaultIdentityProvider(),
124
- }));
149
+ const authClient = await this.initializeClient(this.resolveClientOptions());
125
150
  if (!authClient) {
126
151
  this.updateState({ isAuthenticating: false });
127
152
  return undefined;
@@ -129,7 +154,12 @@ export class AuthenticationManager {
129
154
  }
130
155
  const identity = await this.authClient.getIdentity();
131
156
  const isAuthenticated = await this.authClient.isAuthenticated();
132
- this.clientManager.updateAgent(identity);
157
+ // Restoring an anonymous session is the common first-load case; pushing
158
+ // it through updateAgent would invalidate the whole query cache on
159
+ // every mount for nothing.
160
+ if (isAuthenticated || !identity.getPrincipal().isAnonymous()) {
161
+ this.clientManager.updateAgent(identity);
162
+ }
133
163
  this.updateState({
134
164
  identity,
135
165
  isAuthenticated,
@@ -156,11 +186,9 @@ export class AuthenticationManager {
156
186
  value: async (loginOptions) => {
157
187
  let didCompleteSignIn = false;
158
188
  try {
159
- const identityProvider = loginOptions?.identityProvider || this.getDefaultIdentityProvider();
160
- const authClientOptions = getAuthClientOptions({
161
- ...loginOptions,
162
- identityProvider,
163
- });
189
+ const authClientOptions = this.resolveClientOptions(loginOptions);
190
+ // Stays synchronous when `prepareClient()` has already loaded the auth
191
+ // module, so `signIn()` still runs inside the caller's click handler.
164
192
  if (!this.ensurePreparedClient(authClientOptions)) {
165
193
  await this.initializeClient(authClientOptions);
166
194
  }
@@ -168,7 +196,7 @@ export class AuthenticationManager {
168
196
  await this.authenticate();
169
197
  }
170
198
  if (!this.authClient) {
171
- throw new Error("Authentication module is missing or failed to initialize. To use login, please install the auth package: npm install @icp-sdk/auth");
199
+ throw new Error("Authentication module is missing or failed to initialize. To use login, install the optional auth peer: npm install @icp-sdk/auth. If it is already installed and your bundler could not resolve it, pass a pre-constructed client instead: new AuthenticationManager({ clientManager, authClient: new AuthClient(...) })");
172
200
  }
173
201
  this.updateState({ isAuthenticating: true, error: undefined });
174
202
  const identity = await this.signInOrRecoverIdentity(getSignInOptions(loginOptions));
@@ -209,30 +237,40 @@ export class AuthenticationManager {
209
237
  writable: true,
210
238
  value: async (options) => {
211
239
  if (!this.authClient) {
212
- throw new Error("Authentication module is missing or failed to initialize. To use logout, please install the auth package: npm install @icp-sdk/auth");
240
+ throw new Error("Authentication module is missing or failed to initialize. To use logout, install the optional auth peer: npm install @icp-sdk/auth. If it is already installed and your bundler could not resolve it, pass a pre-constructed client instead: new AuthenticationManager({ clientManager, authClient: new AuthClient(...) })");
213
241
  }
214
242
  this.updateState({ isAuthenticating: true, error: undefined });
215
- await this.authClient.signOut(options);
216
- const identity = await this.authClient.getIdentity();
217
- this.clientManager.updateAgent(identity);
218
- this.updateState({
219
- identity,
220
- isAuthenticated: false,
221
- isAuthenticating: false,
222
- });
243
+ try {
244
+ await this.authClient.signOut(options);
245
+ const identity = await this.authClient.getIdentity();
246
+ this.clientManager.updateAgent(identity);
247
+ this.updateState({
248
+ identity,
249
+ isAuthenticated: false,
250
+ isAuthenticating: false,
251
+ });
252
+ }
253
+ catch (error) {
254
+ // Without this the manager was left with `isAuthenticating: true` and no
255
+ // recorded error, so a button disabled on `isAuthenticating` stayed stuck
256
+ // and nothing told the app why.
257
+ this.updateState({ error: error, isAuthenticating: false });
258
+ throw error;
259
+ }
223
260
  }
224
261
  });
225
262
  this.clientManager = clientManager;
226
263
  const canisterEnv = typeof window !== "undefined" ? getAuthenticationCanisterEnv() : undefined;
227
264
  this.identityProvider =
228
265
  identityProvider ||
229
- canisterEnv?.[INTERNET_IDENTITY_PROVIDER_ENV_KEY] ||
230
- canisterEnv?.["PUBLIC_INTERNET_IDENTITY_PROVIDER"];
266
+ acceptEnvIdentityProvider(canisterEnv?.[INTERNET_IDENTITY_PROVIDER_ENV_KEY] ||
267
+ canisterEnv?.["PUBLIC_INTERNET_IDENTITY_PROVIDER"], clientManager);
231
268
  this.internetIdentityId =
232
269
  internetIdentityId ||
233
- canisterEnv?.["internet_identity"] ||
234
- canisterEnv?.["PUBLIC_CANISTER_ID:internet_identity"] ||
235
- canisterEnv?.["CANISTER_ID_INTERNET_IDENTITY"];
270
+ acceptEnvCanisterId(canisterEnv?.["internet_identity"] ||
271
+ canisterEnv?.["PUBLIC_CANISTER_ID:internet_identity"] ||
272
+ canisterEnv?.["CANISTER_ID_INTERNET_IDENTITY"]);
273
+ this.defaultClientOptions = clientOptions;
236
274
  if (authClient) {
237
275
  this.authClientWasProvided = true;
238
276
  this.authClient = authClient;
@@ -257,31 +295,44 @@ export class AuthenticationManager {
257
295
  };
258
296
  }
259
297
  /**
260
- * Preloads and creates an AuthClient before a user gesture is needed.
298
+ * Preloads the auth module and creates an AuthClient ahead of time.
299
+ *
300
+ * Call (and await) this before wiring up a login button: it makes
301
+ * {@link login} and {@link IdentityAttributesManager.request} able to open
302
+ * the identity provider synchronously inside the click handler, which is
303
+ * what browser popup blockers and the ICRC-29 transport require.
261
304
  */
262
305
  async prepareClient(options) {
263
- const clientOptions = getAuthClientOptions({
264
- ...options,
265
- identityProvider: options?.identityProvider ?? this.getDefaultIdentityProvider(),
266
- });
267
- if (this.authClient &&
268
- (!this.shouldRecreateClient(clientOptions) || this.authClientWasProvided)) {
306
+ const clientOptions = this.resolveClientOptions(options);
307
+ if (this.authClient && !this.shouldRecreateClient(clientOptions)) {
269
308
  return this.authClient;
270
309
  }
271
310
  return this.initializeClient(clientOptions);
272
311
  }
312
+ /**
313
+ * Returns an AuthClient without awaiting, or `undefined` when the auth
314
+ * module has not been loaded yet.
315
+ *
316
+ * Callers that must stay inside a user gesture use this instead of
317
+ * {@link ensureClient}; awaiting anything before opening the identity
318
+ * provider window loses the gesture.
319
+ */
320
+ getPreparedClient(options) {
321
+ return this.ensurePreparedClient(this.resolveClientOptions(options));
322
+ }
273
323
  async initializeClient(options) {
274
324
  const AuthClient = await this.loadAuthClientConstructor();
275
325
  if (!AuthClient) {
276
326
  return undefined;
277
327
  }
278
328
  this.authClient = new AuthClient(options);
329
+ this.authClientOptions = options;
279
330
  return this.authClient;
280
331
  }
281
332
  /** @internal Used by IdentityAttributesManager. */
282
333
  async signInOrRecoverIdentity(options) {
283
334
  if (!this.authClient) {
284
- throw new Error("Authentication module is missing or failed to initialize. To use login, please install the auth package: npm install @icp-sdk/auth");
335
+ throw new Error("Authentication module is missing or failed to initialize. To use login, install the optional auth peer: npm install @icp-sdk/auth. If it is already installed and your bundler could not resolve it, pass a pre-constructed client instead: new AuthenticationManager({ clientManager, authClient: new AuthClient(...) })");
285
336
  }
286
337
  try {
287
338
  return await this.authClient.signIn(options);
@@ -296,8 +347,7 @@ export class AuthenticationManager {
296
347
  }
297
348
  }
298
349
  ensurePreparedClient(options) {
299
- if (this.authClient &&
300
- (!this.shouldRecreateClient(options) || this.authClientWasProvided)) {
350
+ if (this.authClient && !this.shouldRecreateClient(options)) {
301
351
  return this.authClient;
302
352
  }
303
353
  const AuthClient = this.authClientConstructor;
@@ -305,10 +355,35 @@ export class AuthenticationManager {
305
355
  return undefined;
306
356
  }
307
357
  this.authClient = new AuthClient(options);
358
+ this.authClientOptions = options;
308
359
  return this.authClient;
309
360
  }
361
+ /**
362
+ * Only rebuild the client when the effective options actually changed.
363
+ *
364
+ * Recreating on every call would discard the client warmed up by
365
+ * `prepareClient()` and register a duplicate sign-out callback on the
366
+ * shared IdleManager singleton each time.
367
+ */
310
368
  shouldRecreateClient(options) {
311
- return !this.authClientWasProvided && hasAuthClientOptions(options);
369
+ if (this.authClientWasProvided) {
370
+ return false;
371
+ }
372
+ return !isSameAuthClientOptions(this.authClientOptions, options);
373
+ }
374
+ /**
375
+ * Merges constructor-level defaults with per-call overrides and fills in the
376
+ * network-appropriate identity provider.
377
+ */
378
+ resolveClientOptions(options) {
379
+ const merged = getAuthClientOptions({
380
+ ...this.defaultClientOptions,
381
+ ...options,
382
+ });
383
+ return {
384
+ ...merged,
385
+ identityProvider: merged?.identityProvider ?? this.getDefaultIdentityProvider(),
386
+ };
312
387
  }
313
388
  async syncStateFromClient(revision = this.authStateRevision) {
314
389
  if (!this.authClient) {
@@ -329,10 +404,7 @@ export class AuthenticationManager {
329
404
  }
330
405
  /** @internal Used by IdentityAttributesManager. */
331
406
  async ensureClient(options) {
332
- const clientOptions = getAuthClientOptions({
333
- ...options,
334
- identityProvider: options?.identityProvider ?? this.getDefaultIdentityProvider(),
335
- });
407
+ const clientOptions = this.resolveClientOptions(options);
336
408
  if (!this.ensurePreparedClient(clientOptions)) {
337
409
  await this.initializeClient(clientOptions);
338
410
  }
@@ -374,10 +446,7 @@ export class AuthenticationManager {
374
446
  return this.authClientConstructor;
375
447
  }
376
448
  if (!this.authClientConstructorPromise) {
377
- // Keep the optional auth peer out of non-auth bundles. Vite/Rollup/esbuild
378
- // can otherwise try to resolve this package even when auth APIs are unused.
379
- this.authClientConstructorPromise = import(
380
- /* @vite-ignore */ AUTH_CLIENT_MODULE)
449
+ this.authClientConstructorPromise = importAuthClientModule()
381
450
  .then((authModule) => {
382
451
  const AuthClient = authModule.AuthClient;
383
452
  if (!AuthClient) {
@@ -399,6 +468,37 @@ export class AuthenticationManager {
399
468
  return this.authClientConstructorPromise;
400
469
  }
401
470
  }
471
+ /**
472
+ * Loads the optional `@icp-sdk/auth` peer.
473
+ *
474
+ * The `try` is load-bearing, not defensive. webpack flags a dynamic import
475
+ * that sits lexically inside a `try` block as an *optional* dependency
476
+ * (`ImportParserPlugin`: `dep.optional = Boolean(parser.scope.inTry)`), and
477
+ * `Compilation` reports an unresolvable optional dependency as a build
478
+ * *warning* instead of a fatal "Module not found" error, emitting a module
479
+ * that rejects at runtime. Without the `try`, every webpack-based toolchain
480
+ * (webpack, `next build --webpack`, Rspack) fails to build for consumers who
481
+ * never touch authentication, because npm/pnpm do not install optional peers.
482
+ * Do not hoist this import out of the `try`, and do not wrap it in a nested
483
+ * function — webpack resets `inTry` at every function boundary.
484
+ *
485
+ * The specifier must also stay a literal: a variable specifier (or
486
+ * `@vite-ignore`) makes bundlers skip this import entirely, so the bare
487
+ * specifier survives into the browser, where it cannot be resolved without an
488
+ * import map and every login path fails. A literal lets Vite/Rollup/webpack
489
+ * code-split the optional peer, and lets them tree-shake it away for apps that
490
+ * never reference this class.
491
+ */
492
+ function importAuthClientModule() {
493
+ try {
494
+ return import("@icp-sdk/auth/client");
495
+ }
496
+ catch (error) {
497
+ // Native ESM without an import map (and bundlers that neither resolve nor
498
+ // stub the specifier) throw synchronously rather than rejecting.
499
+ return Promise.reject(error);
500
+ }
501
+ }
402
502
  function getAuthClientOptions(options) {
403
503
  if (!options) {
404
504
  return undefined;
@@ -407,6 +507,12 @@ function getAuthClientOptions(options) {
407
507
  identityProvider: options.identityProvider,
408
508
  windowOpenerFeatures: options.windowOpenerFeatures,
409
509
  openIdProvider: getAuthClientOpenIdProvider(options.openIdProvider),
510
+ derivationOrigin: options.derivationOrigin,
511
+ storage: options.storage,
512
+ keyType: options.keyType,
513
+ idleOptions: options.idleOptions,
514
+ identity: options.identity,
515
+ transport: options.transport,
410
516
  };
411
517
  }
412
518
  function getAuthClientOpenIdProvider(openIdProvider) {
@@ -416,10 +522,94 @@ function getAuthClientOpenIdProvider(openIdProvider) {
416
522
  ? openIdProvider
417
523
  : undefined;
418
524
  }
419
- function hasAuthClientOptions(options) {
420
- return Boolean(options?.identityProvider ||
421
- options?.windowOpenerFeatures ||
422
- options?.openIdProvider);
525
+ /**
526
+ * Compares the options two AuthClients would be built from. Object-valued
527
+ * options (`storage`, `identity`, `idleOptions`) are compared by reference,
528
+ * which is what module-scoped configuration produces.
529
+ */
530
+ function isSameAuthClientOptions(current, next) {
531
+ if (current === next) {
532
+ return true;
533
+ }
534
+ if (!current || !next) {
535
+ return false;
536
+ }
537
+ return (String(current.identityProvider ?? "") ===
538
+ String(next.identityProvider ?? "") &&
539
+ current.windowOpenerFeatures === next.windowOpenerFeatures &&
540
+ current.openIdProvider === next.openIdProvider &&
541
+ String(current.derivationOrigin ?? "") ===
542
+ String(next.derivationOrigin ?? "") &&
543
+ current.storage === next.storage &&
544
+ current.keyType === next.keyType &&
545
+ current.idleOptions === next.idleOptions &&
546
+ current.identity === next.identity &&
547
+ current.transport === next.transport);
548
+ }
549
+ /**
550
+ * Decides whether an Internet Identity provider carried by the `ic_env` cookie
551
+ * may be used.
552
+ *
553
+ * The cookie is written by the replica serving a local or testnet deployment,
554
+ * and it is only authoritative in that setting: cookies are not origin-isolated
555
+ * the way script-accessible storage is, so on a mainnet deployment the identity
556
+ * provider is configuration that belongs in code rather than something read
557
+ * back out of the environment at runtime. `AuthClient` treats `identityProvider`
558
+ * as trusted developer configuration and does not re-check it.
559
+ *
560
+ * This mirrors the root-key guard in `ClientManager` (see `packages/core`):
561
+ * both values arrive from the same cookie and get the same treatment — adopted
562
+ * off-mainnet, ignored on mainnet in favour of the pinned default.
563
+ *
564
+ * A provider on the app's own origin is always accepted: it is exactly as
565
+ * trustworthy as the page doing the asking. Callers that need a custom provider
566
+ * on mainnet pass `identityProvider` explicitly.
567
+ */
568
+ function acceptEnvIdentityProvider(value, clientManager) {
569
+ if (!value)
570
+ return undefined;
571
+ const pageOrigin = typeof window !== "undefined" ? window.location?.origin : undefined;
572
+ let url;
573
+ try {
574
+ url = new URL(value, pageOrigin);
575
+ }
576
+ catch {
577
+ return undefined;
578
+ }
579
+ if (pageOrigin && url.origin === pageOrigin) {
580
+ return url.toString();
581
+ }
582
+ // `isMainnetHost` matches only the real boundary domains and defaults to true
583
+ // for an unknown host, so custom testnets keep working while anything that
584
+ // looks like mainnet fails closed. `clientManager.isLocal` would be wrong
585
+ // here: it treats every unrecognized hostname as "ic".
586
+ if (isMainnetHost(clientManager.agentHost?.toString())) {
587
+ console.warn(`[ic-reactor] Ignoring the Internet Identity provider from the ic_env cookie ` +
588
+ `("${url.origin}") because this reactor targets mainnet, where the provider ` +
589
+ `is taken from configuration rather than the environment. Pass ` +
590
+ `\`identityProvider\` to AuthenticationManager to use a custom provider on mainnet.`);
591
+ return undefined;
592
+ }
593
+ return url.toString();
594
+ }
595
+ /**
596
+ * Accepts an Internet Identity canister ID from `ic_env` only when it parses as
597
+ * a principal.
598
+ *
599
+ * The value is interpolated into a provider URL
600
+ * (`http://<id>.localhost:<port>/authorize`), so anything that is not a bare
601
+ * principal can change the shape of that URL rather than just its subdomain.
602
+ * Only reachable on local networks, since mainnet uses the pinned provider.
603
+ */
604
+ function acceptEnvCanisterId(value) {
605
+ if (!value)
606
+ return undefined;
607
+ try {
608
+ return Principal.fromText(value).toText();
609
+ }
610
+ catch {
611
+ return undefined;
612
+ }
423
613
  }
424
614
  function getAuthenticationCanisterEnv() {
425
615
  const canisterEnv = safeGetCanisterEnv();
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-manager.js","sourceRoot":"","sources":["../../src/auth/authentication-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication-manager.js","sourceRoot":"","sources":["../../src/auth/authentication-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAiB,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EACL,6BAA6B,EAC7B,kCAAkC,EAClC,6BAA6B,GAC9B,MAAM,gBAAgB,CAAA;AAiBvB;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IAuBhC,wCAAwC;IACxC,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,YAAY,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,GAAG,aAAa,EACgB;QAjC1B;;;;;WAA2B;QAC3B;;;;;WAA2C;QAC3C;;;;mBAAwB,KAAK;WAAA;QAC7B;;;;mBAAoB,CAAC;WAAA;QACrB;;;;mBAA0D,EAAE;WAAA;QAC5D;;;;;WAA6C;QAC7C;;;;;WAEP;QACO;;;;mBAAoB,KAAK;WAAA;QACzB;;;;;WAA+C;QAC/C;;;;mBAA4B;gBAClC,QAAQ,EAAE,IAAI;gBACd,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,KAAK;gBACtB,KAAK,EAAE,SAAS;aACjB;WAAA;QACgB;;;;;WAA+B;QAC/B;;;;;WAA2B;QAC3B;;;;;WAAiD;QAClD;;;;;WAA4B;QA4FrC;;;;mBAAe,KAAK,IAAmC,EAAE;gBAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;oBACnC,qEAAqE;oBACrE,uEAAuE;oBACvE,qEAAqE;oBACrE,uEAAuE;oBACvE,mEAAmE;oBACnE,kCAAkC;oBAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAA;oBAC7C,CAAC;oBACD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CACtC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAClC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;oBACnB,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAA;oBAC7C,CAAC;oBACD,qEAAqE;oBACrE,oDAAoD;oBACpD,IAAI,CAAC,WAAW,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC9C,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,WAAW,CAAA;gBACzB,CAAC;gBACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC3B,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;oBAC7B,IAAI,KAAK,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC7C,OAAO,CAAC,IAAI,CACV,mCAAmC,EACnC,mCAAmC,EACnC,gBAAgB,EAChB;4BACE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO;4BACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;yBACnE,CACF,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5C,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BACrB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC5C,IAAI,CAAC,oBAAoB,EAAE,CAC5B,CAAA;4BACD,IAAI,CAAC,UAAU,EAAE,CAAC;gCAChB,IAAI,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;gCAC7C,OAAO,SAAS,CAAA;4BAClB,CAAC;wBACH,CAAC;wBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CAAA;wBACrD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,eAAe,EAAE,CAAA;wBAChE,wEAAwE;wBACxE,mEAAmE;wBACnE,2BAA2B;wBAC3B,IAAI,eAAe,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;4BAC9D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;wBAC1C,CAAC;wBACD,IAAI,CAAC,WAAW,CAAC;4BACf,QAAQ;4BACR,eAAe;4BACf,gBAAgB,EAAE,KAAK;yBACxB,CAAC,CAAA;wBACF,OAAO,QAAQ,CAAA;oBACjB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;wBACpE,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;wBAC9C,MAAM,KAAK,CAAA;oBACb,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,WAAW,GAAG,SAAS,CAAA;oBAC9B,CAAC;gBACH,CAAC,CAAC,EAAE,CAAA;gBAEJ,OAAO,IAAI,CAAC,WAAW,CAAA;YACzB,CAAC;WAAA;QAEM;;;;mBAAQ,KAAK,EAAE,YAA0C,EAAE,EAAE;gBAClE,IAAI,iBAAiB,GAAG,KAAK,CAAA;gBAE7B,IAAI,CAAC;oBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAA;oBAEjE,uEAAuE;oBACvE,sEAAsE;oBACtE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;oBAChD,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;oBAC3B,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CACb,2TAA2T,CAC5T,CAAA;oBACH,CAAC;oBAED,IAAI,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;oBAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACjD,gBAAgB,CAAC,YAAY,CAAC,CAC/B,CAAA;oBAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;wBACjD,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAA;oBAC5C,CAAC;oBAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBACxC,IAAI,CAAC,WAAW,CAAC;wBACf,QAAQ;wBACR,eAAe,EAAE,IAAI;wBACrB,gBAAgB,EAAE,KAAK;qBACxB,CAAC,CAAA;oBACF,iBAAiB,GAAG,IAAI,CAAA;oBAExB,IAAI,CAAC;wBACH,MAAM,YAAY,EAAE,SAAS,EAAE,EAAE,CAAA;oBACnC,CAAC;oBAAC,OAAO,aAAa,EAAE,CAAC;wBACvB,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,aAAsB,EAAE,CAAC,CAAA;wBACnD,MAAM,YAAY,EAAE,OAAO,EAAE,CAAE,aAAuB,CAAC,OAAO,CAAC,CAAA;wBAC/D,MAAM,aAAa,CAAA;oBACrB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,MAAM,YAAY,EAAE,OAAO,EAAE,CAAE,KAAe,CAAC,OAAO,CAAC,CAAA;wBACvD,IAAI,CAAC,WAAW,CAAC;4BACf,KAAK,EAAE,KAAc;4BACrB,gBAAgB,EAAE,KAAK;yBACxB,CAAC,CAAA;oBACJ,CAAC;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;WAAA;QAEM;;;;mBAAS,KAAK,EAAE,OAA+B,EAAE,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACb,4TAA4T,CAC7T,CAAA;gBACH,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC9D,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;oBACpD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;oBACxC,IAAI,CAAC,WAAW,CAAC;wBACf,QAAQ;wBACR,eAAe,EAAE,KAAK;wBACtB,gBAAgB,EAAE,KAAK;qBACxB,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,yEAAyE;oBACzE,0EAA0E;oBAC1E,gCAAgC;oBAChC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;oBACpE,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;WAAA;QA5OC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,MAAM,WAAW,GACf,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAC5E,IAAI,CAAC,gBAAgB;YACnB,gBAAgB;gBAChB,yBAAyB,CACvB,WAAW,EAAE,CAAC,kCAAkC,CAAC;oBAC/C,WAAW,EAAE,CAAC,mCAAmC,CAAC,EACpD,aAAa,CACd,CAAA;QACH,IAAI,CAAC,kBAAkB;YACrB,kBAAkB;gBAClB,mBAAmB,CACjB,WAAW,EAAE,CAAC,mBAAmB,CAAC;oBAChC,WAAW,EAAE,CAAC,sCAAsC,CAAC;oBACrD,WAAW,EAAE,CAAC,+BAA+B,CAAC,CACjD,CAAA;QACH,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAA;QAEzC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;YACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC/D,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAc,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;YACtE,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,yBAAyB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1C,iEAAiE;YACnE,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEM,kBAAkB,CAAC,QAAoC;QAC5D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC1D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,QAAQ,CACxC,CAAA;QACH,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,aAAa,CAAC,OAAqC;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAExD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,UAAU,CAAA;QACxB,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,iBAAiB,CACtB,OAAqC;QAErC,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;IACtE,CAAC;IAkKO,KAAK,CAAC,gBAAgB,CAC5B,OAAqC;QAErC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,mDAAmD;IAC5C,KAAK,CAAC,uBAAuB,CAClC,OAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,2TAA2T,CAC5T,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAC9B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YACnB,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAC3C,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAClC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;YAEpB,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAA;YACjB,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEO,oBAAoB,CAC1B,OAAqC;QAErC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,UAAU,CAAA;QACxB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAA;QAC7C,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,OAAqC;QAChE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAClE,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAC1B,OAAqC;QAErC,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,GAAG,IAAI,CAAC,oBAAoB;YAC5B,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO;YACL,GAAG,MAAM;YACT,gBAAgB,EACd,MAAM,EAAE,gBAAgB,IAAI,IAAI,CAAC,0BAA0B,EAAE;SAChE,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB;QACjE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;QACpD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA;QAC/D,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,OAAM;QACR,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,WAAW,CAAC;YACf,QAAQ;YACR,eAAe;YACf,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,mDAAmD;IAC5C,KAAK,CAAC,YAAY,CAAC,OAAqC;QAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,mDAAmD;IAC5C,KAAK,CAAC,cAAc,CAAC,QAAkB,EAAE,eAAwB;QACtE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAA;QAC5C,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,mDAAmD;IAC5C,iBAAiB;QACtB,IAAI,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,mDAAmD;IAC5C,sBAAsB,CAAC,KAAY;QACxC,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAA;IACtD,CAAC;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,gBAAgB,CAAA;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO;YAC/B,CAAC,CAAC,6BAA6B,CAC3B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,EAClD,IAAI,CAAC,kBAAkB,CACxB;YACH,CAAC,CAAC,6BAA6B,CAAA;IACnC,CAAC;IAEO,WAAW,CAAC,QAA4B;QAC9C,IAAI,KAAK,EAAE;YAAE,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;QACzE,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,EAAE,CAAA;QAC7D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC/C,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAChC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAA;QACnC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACvC,IAAI,CAAC,4BAA4B,GAAG,sBAAsB,EAAE;iBACzD,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACnB,MAAM,UAAU,GACd,UACD,CAAC,UAAU,CAAA;gBAEZ,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;gBACnE,CAAC;gBAED,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAA;gBACvC,OAAO,UAAU,CAAA;YACnB,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;gBAC7B,IAAI,CAAC,4BAA4B,GAAG,SAAS,CAAA;gBAC7C,IACE,KAAK,YAAY,KAAK;oBACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACnD,CAAC;oBACD,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;QACN,CAAC;QAED,OAAO,IAAI,CAAC,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,sBAAsB;IAC7B,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,sBAAsB,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,iEAAiE;QACjE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAqC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,cAAc,EAAE,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC;QACnE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAA;AACH,CAAC;AAED,SAAS,2BAA2B,CAClC,cAA8D;IAE9D,OAAO,cAAc,KAAK,QAAQ;QAChC,cAAc,KAAK,OAAO;QAC1B,cAAc,KAAK,WAAW;QAC9B,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAC9B,OAAqC,EACrC,IAAkC;IAElC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB;QAC1D,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,cAAc;QAC9C,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAChC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QAChC,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;QACxC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;QAClC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACrC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,yBAAyB,CAChC,KAAyB,EACzB,aAA4B;IAE5B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE5B,MAAM,UAAU,GACd,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAErE,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,uDAAuD;IACvD,IAAI,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,IAAI,CACV,8EAA8E;YAC5E,KAAK,GAAG,CAAC,MAAM,8DAA8D;YAC7E,gEAAgE;YAChE,oFAAoF,CACvF,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B;IACnC,MAAM,WAAW,GAAG,kBAAkB,EAA0B,CAAA;IAChE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAgD,CAAA;IACzD,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;SAC3B,KAAK,CAAC,GAAG,CAAC;SACV,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAA;IAClE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,kBAAkB,CAAC,YAAY,CAAC;SAC7B,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,cAAc,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACb,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,CAAC,CAAC,CACL,CAAA;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAClD,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAqC;IAErC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { IdentityAttributesManager } from "./identity-attributes-manager";
2
- import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types";
1
+ import type { IdentityAttributesManager } from "./identity-attributes-manager.js";
2
+ import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types.js";
3
3
  export interface UseIdentityAttributesReturn {
4
4
  requestAttributes: (params: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
5
5
  requestOpenIdAttributes: (params: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"createIdentityAttributeHooks.d.ts","sourceRoot":"","sources":["../../src/auth/createIdentityAttributeHooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,CACjB,MAAM,EAAE,mCAAmC,KACxC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,uBAAuB,EAAE,CACvB,MAAM,EAAE,yCAAyC,KAC9C,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC1C,sBAAsB,EAAE,OAAO,CAAA;IAC/B,cAAc,EAAE,KAAK,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB;iCAEX,2BAA2B;EA0D9D"}
1
+ {"version":3,"file":"createIdentityAttributeHooks.d.ts","sourceRoot":"","sources":["../../src/auth/createIdentityAttributeHooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EACV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,CACjB,MAAM,EAAE,mCAAmC,KACxC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,uBAAuB,EAAE,CACvB,MAAM,EAAE,yCAAyC,KAC9C,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAA;IAC1C,sBAAsB,EAAE,OAAO,CAAA;IAC/B,cAAc,EAAE,KAAK,GAAG,IAAI,CAAA;IAC5B,eAAe,EAAE,MAAM,IAAI,CAAA;CAC5B;AAED,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,yBAAyB;iCAEX,2BAA2B;EA0D9D"}
@@ -1,19 +1,26 @@
1
- import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types";
2
- import { AuthenticationManager } from "./authentication-manager";
1
+ import type { IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types.js";
2
+ import { AuthenticationManager } from "./authentication-manager.js";
3
3
  /**
4
4
  * Requests and decodes signed identity attributes for an authenticated
5
5
  * Internet Identity session.
6
6
  *
7
+ * Await `authentication.prepareClient()` once during startup (the `useAuth`
8
+ * hook already does) so that {@link request} can open the identity provider
9
+ * window synchronously from a click handler.
10
+ *
7
11
  * @example
8
12
  * ```ts
9
13
  * const attributes = new IdentityAttributesManager(authentication)
10
- * const result = await attributes.request({ keys: ["name"] })
14
+ * const result = await attributes.request({
15
+ * keys: ["name"],
16
+ * nonce: () => fetchNonceFromCanister(),
17
+ * })
11
18
  * ```
12
19
  */
13
20
  export declare class IdentityAttributesManager {
14
21
  readonly authentication: AuthenticationManager;
15
22
  constructor(authentication: AuthenticationManager);
16
- request: ({ keys, nonce, identityProvider, openIdProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
17
- requestOpenId: ({ nonce, openIdProvider, keys, identityProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
23
+ request: ({ keys, nonce, signIn, maxTimeToLive, targets, ...clientOptions }: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
24
+ requestOpenId: ({ keys, openIdProvider, ...rest }: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
18
25
  }
19
26
  //# sourceMappingURL=identity-attributes-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-attributes-manager.d.ts","sourceRoot":"","sources":["../../src/auth/identity-attributes-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAOhE;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;aACR,cAAc,EAAE,qBAAqB;gBAArC,cAAc,EAAE,qBAAqB;IAE1D,OAAO,GAAU,0GASrB,mCAAmC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAoDxE;IAEM,aAAa,GAAU,0GAS3B,yCAAyC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAW9E;CACF"}
1
+ {"version":3,"file":"identity-attributes-manager.d.ts","sourceRoot":"","sources":["../../src/auth/identity-attributes-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAOnE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,yBAAyB;aACR,cAAc,EAAE,qBAAqB;gBAArC,cAAc,EAAE,qBAAqB;IAE1D,OAAO,GAAU,mEAOrB,mCAAmC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAyDxE;IAEM,aAAa,GAAI,mCAIrB,yCAAyC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAO9E;CACF"}