@ic-reactor/react 3.7.0 → 3.8.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 (86) hide show
  1. package/README.md +93 -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 +111 -37
  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 +1 -1
  27. package/dist/createInfiniteQuery.d.ts.map +1 -1
  28. package/dist/createInfiniteQuery.js +1 -1
  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/createQuery.d.ts +1 -1
  33. package/dist/createQuery.d.ts.map +1 -1
  34. package/dist/createQuery.js +1 -1
  35. package/dist/createQuery.js.map +1 -1
  36. package/dist/createSuspenseInfiniteQuery.d.ts +1 -1
  37. package/dist/createSuspenseInfiniteQuery.d.ts.map +1 -1
  38. package/dist/createSuspenseInfiniteQuery.js +1 -1
  39. package/dist/createSuspenseInfiniteQuery.js.map +1 -1
  40. package/dist/createSuspenseQuery.d.ts +1 -1
  41. package/dist/createSuspenseQuery.d.ts.map +1 -1
  42. package/dist/createSuspenseQuery.js +1 -1
  43. package/dist/createSuspenseQuery.js.map +1 -1
  44. package/dist/defineReactor.d.ts +54 -4
  45. package/dist/defineReactor.d.ts.map +1 -1
  46. package/dist/defineReactor.js +77 -7
  47. package/dist/defineReactor.js.map +1 -1
  48. package/dist/hooks/createAuthHooks.d.ts +2 -2
  49. package/dist/hooks/createAuthHooks.d.ts.map +1 -1
  50. package/dist/hooks/createAuthHooks.js +7 -2
  51. package/dist/hooks/createAuthHooks.js.map +1 -1
  52. package/dist/hooks/useActorInfiniteQuery.js +1 -1
  53. package/dist/hooks/useActorInfiniteQuery.js.map +1 -1
  54. package/dist/hooks/useActorSuspenseInfiniteQuery.js +1 -1
  55. package/dist/hooks/useActorSuspenseInfiniteQuery.js.map +1 -1
  56. package/dist/index.d.ts +11 -11
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +11 -11
  59. package/dist/index.js.map +1 -1
  60. package/llms.txt +1 -1
  61. package/package.json +14 -9
  62. package/src/auth/authentication-manager.ts +121 -49
  63. package/src/auth/createIdentityAttributeHooks.ts +2 -2
  64. package/src/auth/identity-attributes-manager.ts +53 -44
  65. package/src/auth/identity-attributes.ts +2 -2
  66. package/src/auth/index.ts +7 -7
  67. package/src/auth/types.ts +134 -18
  68. package/src/createActorHooks.ts +9 -9
  69. package/src/createInfiniteQuery.ts +2 -2
  70. package/src/createMutation.ts +1 -1
  71. package/src/createQuery.ts +2 -2
  72. package/src/createSuspenseInfiniteQuery.ts +2 -2
  73. package/src/createSuspenseQuery.ts +2 -2
  74. package/src/defineReactor.ts +136 -14
  75. package/src/hooks/createAuthHooks.ts +8 -3
  76. package/src/hooks/useActorInfiniteQuery.ts +1 -1
  77. package/src/hooks/useActorSuspenseInfiniteQuery.ts +1 -1
  78. package/src/index.ts +11 -11
  79. package/src/defineReactor.test.ts +0 -70
  80. package/src/hooks/useActorInfiniteQuery.test.tsx +0 -457
  81. package/src/hooks/useActorMethod.test.tsx +0 -798
  82. package/src/hooks/useActorMutation.test.tsx +0 -220
  83. package/src/hooks/useActorQuery.test.tsx +0 -287
  84. package/src/hooks/useActorSuspenseInfiniteQuery.test.tsx +0 -472
  85. package/src/hooks/useActorSuspenseQuery.test.tsx +0 -254
  86. package/src/utils.test.ts +0 -14
package/README.md CHANGED
@@ -13,6 +13,11 @@ pnpm add @ic-reactor/react @icp-sdk/core @tanstack/react-query
13
13
  pnpm add @icp-sdk/auth
14
14
  ```
15
15
 
16
+ `@icp-sdk/auth` is an optional peer. `AuthenticationManager` reaches it through a
17
+ literal `import("@icp-sdk/auth/client")`, so Vite, Rollup and webpack resolve it
18
+ at build time and code-split it into its own chunk — and tree-shake it away
19
+ entirely in apps that never reference the class.
20
+
16
21
  ## Quick Start
17
22
 
18
23
  ```tsx
@@ -25,7 +30,6 @@ export const queryClient = new QueryClient()
25
30
 
26
31
  export const clientManager = new ClientManager({
27
32
  queryClient,
28
- withCanisterEnv: true,
29
33
  })
30
34
 
31
35
  export const backend = new Reactor<_SERVICE>({
@@ -136,12 +140,41 @@ const mutation = updateProfile.useMutation({
136
140
  })
137
141
  ```
138
142
 
139
- ## Identity Attributes / OpenID email and profile values
143
+ ## Internet Identity
140
144
 
141
- Identity attributes use a dedicated `IdentityAttributesManager`, with React
142
- bindings created by `createIdentityAttributeHooks`. The configured auth client
143
- must support the `@icp-sdk/auth` v7 constructor, sign-in, sign-out, and
144
- attribute-request APIs.
145
+ `defineReactor` wires up Internet Identity for you — `useAuth`,
146
+ `useUserPrincipal`, `useAgentState` and `useIdentityAttributes` come back
147
+ alongside the actor hooks:
148
+
149
+ ```tsx
150
+ // src/reactor.ts
151
+ export const { useActorQuery, useAuth, useIdentityAttributes, authentication } =
152
+ defineReactor<_SERVICE>({
153
+ name: "backend",
154
+ idlFactory,
155
+ auth: {
156
+ // Required when the app is served from more than one origin, so every
157
+ // origin resolves to the same principal.
158
+ derivationOrigin: "https://app.example.com",
159
+ // The default signs the user out and reloads after 10 minutes idle.
160
+ idleOptions: { disableIdle: true },
161
+ },
162
+ })
163
+ ```
164
+
165
+ Auth options are forwarded to the underlying `@icp-sdk/auth` client:
166
+ `identityProvider`, `derivationOrigin`, `windowOpenerFeatures`,
167
+ `openIdProvider`, `storage`, `keyType`, `idleOptions`, `identity`, and
168
+ `transport`. Only the `"google" | "apple" | "microsoft"` aliases are accepted
169
+ for `openIdProvider`; any other value is dropped, since raw issuer URLs are
170
+ only meaningful on `requestOpenIdAttributes`, where they scope the keys.
171
+
172
+ Pass `authentication` from one reactor into another to share a single session
173
+ across canisters. That reactor adopts the manager's `ClientManager` so sign-in
174
+ updates the agent it calls through, so pass either `authentication` or `auth` —
175
+ not both.
176
+
177
+ Set up manually when you need more control:
145
178
 
146
179
  ```tsx
147
180
  // src/auth.ts
@@ -162,6 +195,59 @@ export const { useIdentityAttributes } =
162
195
  createIdentityAttributeHooks(identityAttributes)
163
196
  ```
164
197
 
198
+ `useAuth()` calls `authentication.prepareClient()` on mount. Outside React, do
199
+ it yourself during startup — it preloads the auth module so `login()` can open
200
+ the identity provider window synchronously inside a click handler, which is
201
+ what browser popup blockers require:
202
+
203
+ ```ts
204
+ // once, at startup — awaits the dynamic import and builds the AuthClient
205
+ await authentication.prepareClient()
206
+
207
+ // later, inside the click handler — no await before signIn(), so the popup
208
+ // still counts as user-initiated
209
+ button.onclick = () => authentication.login()
210
+ ```
211
+
212
+ `authentication.getPreparedClient()` returns the already-built client
213
+ synchronously, or `undefined` when the module has not loaded yet.
214
+
215
+ If your bundler cannot resolve the optional peer at all, construct the client
216
+ yourself and inject it — IC Reactor then never imports `@icp-sdk/auth`:
217
+
218
+ ```ts
219
+ import { AuthClient } from "@icp-sdk/auth/client"
220
+
221
+ const authentication = new AuthenticationManager({
222
+ clientManager,
223
+ authClient: new AuthClient(),
224
+ })
225
+ ```
226
+
227
+ ## Identity Attributes / OpenID email and profile values
228
+
229
+ Identity attributes use a dedicated `IdentityAttributesManager`, with React
230
+ bindings created by `createIdentityAttributeHooks`. Works with `@icp-sdk/auth`
231
+ v7 and v8; the two versions disagree on the nonce contract and IC Reactor
232
+ normalizes whichever form you pass.
233
+
234
+ **Pass the nonce as a callback.** Awaiting your backend before calling
235
+ `requestOpenIdAttributes` ends the user gesture, and the browser then blocks
236
+ the Internet Identity window:
237
+
238
+ ```tsx
239
+ // ✅ window opens immediately, nonce resolves while the user is in II
240
+ await requestOpenIdAttributes({
241
+ nonce: () => backend.registerBegin(),
242
+ openIdProvider: "google",
243
+ keys: ["email", "name"],
244
+ })
245
+
246
+ // ❌ gesture is gone by the time the window would open
247
+ const nonce = await backend.registerBegin()
248
+ await requestOpenIdAttributes({ nonce, openIdProvider: "google", keys })
249
+ ```
250
+
165
251
  ```tsx
166
252
  // src/RegisterWithOpenIdProvider.tsx
167
253
  import { useIdentityAttributes } from "./auth"
@@ -176,10 +262,8 @@ function RegisterWithOpenIdProvider() {
176
262
  } = useIdentityAttributes()
177
263
 
178
264
  async function handleProviderLogin() {
179
- const nonce = await backend.registerBegin()
180
-
181
265
  const result = await requestOpenIdAttributes({
182
- nonce,
266
+ nonce: () => backend.registerBegin(),
183
267
  openIdProvider: "microsoft",
184
268
  keys: ["email", "name"],
185
269
  windowOpenerFeatures: popupCenter(),
@@ -1,10 +1,14 @@
1
1
  import type { Identity } from "@icp-sdk/core/agent";
2
- import type { AuthClientLike, AuthClientSignInOptions, AuthState, AuthenticationClientOptions, AuthenticationSignInOptions } from "./types";
2
+ import type { AuthClientLike, AuthClientSignInOptions, AuthState, AuthenticationClientOptions, AuthenticationSignInOptions } from "./types.js";
3
3
  import { ClientManager } from "@ic-reactor/core";
4
- export interface AuthenticationManagerParameters {
4
+ export interface AuthenticationManagerParameters extends AuthenticationClientOptions {
5
5
  clientManager: ClientManager;
6
+ /**
7
+ * Bring your own client instance. When provided, IC Reactor never constructs
8
+ * one and never applies the options below to it.
9
+ */
6
10
  authClient?: AuthClientLike;
7
- identityProvider?: string | URL;
11
+ /** Canister ID of a locally deployed Internet Identity. */
8
12
  internetIdentityId?: string;
9
13
  }
10
14
  /**
@@ -26,20 +30,36 @@ export declare class AuthenticationManager {
26
30
  private authClientConstructor?;
27
31
  private authClientConstructorPromise?;
28
32
  private authModuleMissing;
33
+ private authClientOptions?;
29
34
  private authStateValue;
30
35
  private readonly identityProvider?;
31
36
  private readonly internetIdentityId?;
37
+ private readonly defaultClientOptions;
32
38
  readonly clientManager: ClientManager;
33
39
  /** The current authentication state. */
34
40
  get authState(): AuthState;
35
- constructor({ clientManager, authClient, identityProvider, internetIdentityId, }: AuthenticationManagerParameters);
41
+ constructor({ clientManager, authClient, identityProvider, internetIdentityId, ...clientOptions }: AuthenticationManagerParameters);
36
42
  /** @internal Used by IdentityAttributesManager. */
37
43
  get client(): AuthClientLike | undefined;
38
44
  subscribeAuthState(callback: (state: AuthState) => void): () => void;
39
45
  /**
40
- * Preloads and creates an AuthClient before a user gesture is needed.
46
+ * Preloads the auth module and creates an AuthClient ahead of time.
47
+ *
48
+ * Call (and await) this before wiring up a login button: it makes
49
+ * {@link login} and {@link IdentityAttributesManager.request} able to open
50
+ * the identity provider synchronously inside the click handler, which is
51
+ * what browser popup blockers and the ICRC-29 transport require.
41
52
  */
42
53
  prepareClient(options?: AuthenticationClientOptions): Promise<AuthClientLike | undefined>;
54
+ /**
55
+ * Returns an AuthClient without awaiting, or `undefined` when the auth
56
+ * module has not been loaded yet.
57
+ *
58
+ * Callers that must stay inside a user gesture use this instead of
59
+ * {@link ensureClient}; awaiting anything before opening the identity
60
+ * provider window loses the gesture.
61
+ */
62
+ getPreparedClient(options?: AuthenticationClientOptions): AuthClientLike | undefined;
43
63
  authenticate: () => Promise<Identity | undefined>;
44
64
  login: (loginOptions?: AuthenticationSignInOptions) => Promise<void>;
45
65
  logout: (options?: {
@@ -49,7 +69,19 @@ export declare class AuthenticationManager {
49
69
  /** @internal Used by IdentityAttributesManager. */
50
70
  signInOrRecoverIdentity(options?: AuthClientSignInOptions): Promise<Identity>;
51
71
  private ensurePreparedClient;
72
+ /**
73
+ * Only rebuild the client when the effective options actually changed.
74
+ *
75
+ * Recreating on every call would discard the client warmed up by
76
+ * `prepareClient()` and register a duplicate sign-out callback on the
77
+ * shared IdleManager singleton each time.
78
+ */
52
79
  private shouldRecreateClient;
80
+ /**
81
+ * Merges constructor-level defaults with per-call overrides and fills in the
82
+ * network-appropriate identity provider.
83
+ */
84
+ private resolveClientOptions;
53
85
  private syncStateFromClient;
54
86
  /** @internal Used by IdentityAttributesManager. */
55
87
  ensureClient(options?: AuthenticationClientOptions): Promise<AuthClientLike | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"authentication-manager.d.ts","sourceRoot":"","sources":["../../src/auth/authentication-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAS,MAAM,kBAAkB,CAAA;AASvD,MAAM,WAAW,+BAA+B;IAC9C,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAQD;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,oBAAoB,CAAwC;IACpE,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,4BAA4B,CAAC,CAEpC;IACD,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,cAAc,CAKrB;IACD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAQ;IAC5C,SAAgB,aAAa,EAAE,aAAa,CAAA;IAE5C,wCAAwC;IACxC,IAAW,SAAS,IAAI,SAAS,CAEhC;gBAEW,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,+BAA+B;IA2BlC,mDAAmD;IACnD,IAAW,MAAM,+BAEhB;IAEM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;OAEG;IACU,aAAa,CAAC,OAAO,CAAC,EAAE,2BAA2B;IAiBzD,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAuD5D;IAEM,KAAK,GAAU,eAAe,2BAA2B,mBA2D/D;IAEM,MAAM,GAAU,UAAU;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,mBAerD;YAEa,gBAAgB;IAa9B,mDAAmD;IACtC,uBAAuB,CAClC,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,QAAQ,CAAC;IAyBpB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,oBAAoB;YAId,mBAAmB;IAmBjC,mDAAmD;IACtC,YAAY,CAAC,OAAO,CAAC,EAAE,2BAA2B;IAY/D,mDAAmD;IACtC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO;IAQxE,mDAAmD;IAC5C,iBAAiB;IAIxB,mDAAmD;IAC5C,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAI1C,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,WAAW;YASL,yBAAyB;CAsCxC"}
1
+ {"version":3,"file":"authentication-manager.d.ts","sourceRoot":"","sources":["../../src/auth/authentication-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,aAAa,EAAS,MAAM,kBAAkB,CAAA;AASvD,MAAM,WAAW,+BAAgC,SAAQ,2BAA2B;IAClF,aAAa,EAAE,aAAa,CAAA;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAMD;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,oBAAoB,CAAwC;IACpE,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,4BAA4B,CAAC,CAEpC;IACD,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAA6B;IACvD,OAAO,CAAC,cAAc,CAKrB;IACD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAc;IAChD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,SAAgB,aAAa,EAAE,aAAa,CAAA;IAE5C,wCAAwC;IACxC,IAAW,SAAS,IAAI,SAAS,CAEhC;gBAEW,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,GAAG,aAAa,EACjB,EAAE,+BAA+B;IA4BlC,mDAAmD;IACnD,IAAW,MAAM,+BAEhB;IAEM,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;;;;;OAOG;IACU,aAAa,CAAC,OAAO,CAAC,EAAE,2BAA2B;IAUhE;;;;;;;OAOG;IACI,iBAAiB,CACtB,OAAO,CAAC,EAAE,2BAA2B,GACpC,cAAc,GAAG,SAAS;IAItB,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA0D5D;IAEM,KAAK,GAAU,eAAe,2BAA2B,mBAwD/D;IAEM,MAAM,GAAU,UAAU;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,mBAerD;YAEa,gBAAgB;IAc9B,mDAAmD;IACtC,uBAAuB,CAClC,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,QAAQ,CAAC;IAyBpB,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;YAed,mBAAmB;IAmBjC,mDAAmD;IACtC,YAAY,CAAC,OAAO,CAAC,EAAE,2BAA2B;IAQ/D,mDAAmD;IACtC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO;IAQxE,mDAAmD;IAC5C,iBAAiB;IAIxB,mDAAmD;IAC5C,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAI1C,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,WAAW;YASL,yBAAyB;CAuCxC"}
@@ -1,7 +1,6 @@
1
1
  import { isDev } from "@ic-reactor/core";
2
2
  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";
3
+ import { IC_INTERNET_IDENTITY_PROVIDER, INTERNET_IDENTITY_PROVIDER_ENV_KEY, localInternetIdentityProvider, } from "./constants.js";
5
4
  /**
6
5
  * Manages Internet Identity sign-in, session restoration, and authentication
7
6
  * state for a {@link ClientManager}.
@@ -17,7 +16,7 @@ export class AuthenticationManager {
17
16
  get authState() {
18
17
  return this.authStateValue;
19
18
  }
20
- constructor({ clientManager, authClient, identityProvider, internetIdentityId, }) {
19
+ constructor({ clientManager, authClient, identityProvider, internetIdentityId, ...clientOptions }) {
21
20
  Object.defineProperty(this, "authClient", {
22
21
  enumerable: true,
23
22
  configurable: true,
@@ -66,6 +65,12 @@ export class AuthenticationManager {
66
65
  writable: true,
67
66
  value: false
68
67
  });
68
+ Object.defineProperty(this, "authClientOptions", {
69
+ enumerable: true,
70
+ configurable: true,
71
+ writable: true,
72
+ value: void 0
73
+ });
69
74
  Object.defineProperty(this, "authStateValue", {
70
75
  enumerable: true,
71
76
  configurable: true,
@@ -89,6 +94,12 @@ export class AuthenticationManager {
89
94
  writable: true,
90
95
  value: void 0
91
96
  });
97
+ Object.defineProperty(this, "defaultClientOptions", {
98
+ enumerable: true,
99
+ configurable: true,
100
+ writable: true,
101
+ value: void 0
102
+ });
92
103
  Object.defineProperty(this, "clientManager", {
93
104
  enumerable: true,
94
105
  configurable: true,
@@ -119,9 +130,7 @@ export class AuthenticationManager {
119
130
  this.updateState({ isAuthenticating: true });
120
131
  try {
121
132
  if (!this.authClient) {
122
- const authClient = await this.initializeClient(getAuthClientOptions({
123
- identityProvider: this.getDefaultIdentityProvider(),
124
- }));
133
+ const authClient = await this.initializeClient(this.resolveClientOptions());
125
134
  if (!authClient) {
126
135
  this.updateState({ isAuthenticating: false });
127
136
  return undefined;
@@ -129,7 +138,12 @@ export class AuthenticationManager {
129
138
  }
130
139
  const identity = await this.authClient.getIdentity();
131
140
  const isAuthenticated = await this.authClient.isAuthenticated();
132
- this.clientManager.updateAgent(identity);
141
+ // Restoring an anonymous session is the common first-load case; pushing
142
+ // it through updateAgent would invalidate the whole query cache on
143
+ // every mount for nothing.
144
+ if (isAuthenticated || !identity.getPrincipal().isAnonymous()) {
145
+ this.clientManager.updateAgent(identity);
146
+ }
133
147
  this.updateState({
134
148
  identity,
135
149
  isAuthenticated,
@@ -156,11 +170,9 @@ export class AuthenticationManager {
156
170
  value: async (loginOptions) => {
157
171
  let didCompleteSignIn = false;
158
172
  try {
159
- const identityProvider = loginOptions?.identityProvider || this.getDefaultIdentityProvider();
160
- const authClientOptions = getAuthClientOptions({
161
- ...loginOptions,
162
- identityProvider,
163
- });
173
+ const authClientOptions = this.resolveClientOptions(loginOptions);
174
+ // Stays synchronous when `prepareClient()` has already loaded the auth
175
+ // module, so `signIn()` still runs inside the caller's click handler.
164
176
  if (!this.ensurePreparedClient(authClientOptions)) {
165
177
  await this.initializeClient(authClientOptions);
166
178
  }
@@ -168,7 +180,7 @@ export class AuthenticationManager {
168
180
  await this.authenticate();
169
181
  }
170
182
  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");
183
+ 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
184
  }
173
185
  this.updateState({ isAuthenticating: true, error: undefined });
174
186
  const identity = await this.signInOrRecoverIdentity(getSignInOptions(loginOptions));
@@ -209,7 +221,7 @@ export class AuthenticationManager {
209
221
  writable: true,
210
222
  value: async (options) => {
211
223
  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");
224
+ 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
225
  }
214
226
  this.updateState({ isAuthenticating: true, error: undefined });
215
227
  await this.authClient.signOut(options);
@@ -233,6 +245,7 @@ export class AuthenticationManager {
233
245
  canisterEnv?.["internet_identity"] ||
234
246
  canisterEnv?.["PUBLIC_CANISTER_ID:internet_identity"] ||
235
247
  canisterEnv?.["CANISTER_ID_INTERNET_IDENTITY"];
248
+ this.defaultClientOptions = clientOptions;
236
249
  if (authClient) {
237
250
  this.authClientWasProvided = true;
238
251
  this.authClient = authClient;
@@ -257,31 +270,44 @@ export class AuthenticationManager {
257
270
  };
258
271
  }
259
272
  /**
260
- * Preloads and creates an AuthClient before a user gesture is needed.
273
+ * Preloads the auth module and creates an AuthClient ahead of time.
274
+ *
275
+ * Call (and await) this before wiring up a login button: it makes
276
+ * {@link login} and {@link IdentityAttributesManager.request} able to open
277
+ * the identity provider synchronously inside the click handler, which is
278
+ * what browser popup blockers and the ICRC-29 transport require.
261
279
  */
262
280
  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)) {
281
+ const clientOptions = this.resolveClientOptions(options);
282
+ if (this.authClient && !this.shouldRecreateClient(clientOptions)) {
269
283
  return this.authClient;
270
284
  }
271
285
  return this.initializeClient(clientOptions);
272
286
  }
287
+ /**
288
+ * Returns an AuthClient without awaiting, or `undefined` when the auth
289
+ * module has not been loaded yet.
290
+ *
291
+ * Callers that must stay inside a user gesture use this instead of
292
+ * {@link ensureClient}; awaiting anything before opening the identity
293
+ * provider window loses the gesture.
294
+ */
295
+ getPreparedClient(options) {
296
+ return this.ensurePreparedClient(this.resolveClientOptions(options));
297
+ }
273
298
  async initializeClient(options) {
274
299
  const AuthClient = await this.loadAuthClientConstructor();
275
300
  if (!AuthClient) {
276
301
  return undefined;
277
302
  }
278
303
  this.authClient = new AuthClient(options);
304
+ this.authClientOptions = options;
279
305
  return this.authClient;
280
306
  }
281
307
  /** @internal Used by IdentityAttributesManager. */
282
308
  async signInOrRecoverIdentity(options) {
283
309
  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");
310
+ 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
311
  }
286
312
  try {
287
313
  return await this.authClient.signIn(options);
@@ -296,8 +322,7 @@ export class AuthenticationManager {
296
322
  }
297
323
  }
298
324
  ensurePreparedClient(options) {
299
- if (this.authClient &&
300
- (!this.shouldRecreateClient(options) || this.authClientWasProvided)) {
325
+ if (this.authClient && !this.shouldRecreateClient(options)) {
301
326
  return this.authClient;
302
327
  }
303
328
  const AuthClient = this.authClientConstructor;
@@ -305,10 +330,35 @@ export class AuthenticationManager {
305
330
  return undefined;
306
331
  }
307
332
  this.authClient = new AuthClient(options);
333
+ this.authClientOptions = options;
308
334
  return this.authClient;
309
335
  }
336
+ /**
337
+ * Only rebuild the client when the effective options actually changed.
338
+ *
339
+ * Recreating on every call would discard the client warmed up by
340
+ * `prepareClient()` and register a duplicate sign-out callback on the
341
+ * shared IdleManager singleton each time.
342
+ */
310
343
  shouldRecreateClient(options) {
311
- return !this.authClientWasProvided && hasAuthClientOptions(options);
344
+ if (this.authClientWasProvided) {
345
+ return false;
346
+ }
347
+ return !isSameAuthClientOptions(this.authClientOptions, options);
348
+ }
349
+ /**
350
+ * Merges constructor-level defaults with per-call overrides and fills in the
351
+ * network-appropriate identity provider.
352
+ */
353
+ resolveClientOptions(options) {
354
+ const merged = getAuthClientOptions({
355
+ ...this.defaultClientOptions,
356
+ ...options,
357
+ });
358
+ return {
359
+ ...merged,
360
+ identityProvider: merged?.identityProvider ?? this.getDefaultIdentityProvider(),
361
+ };
312
362
  }
313
363
  async syncStateFromClient(revision = this.authStateRevision) {
314
364
  if (!this.authClient) {
@@ -329,10 +379,7 @@ export class AuthenticationManager {
329
379
  }
330
380
  /** @internal Used by IdentityAttributesManager. */
331
381
  async ensureClient(options) {
332
- const clientOptions = getAuthClientOptions({
333
- ...options,
334
- identityProvider: options?.identityProvider ?? this.getDefaultIdentityProvider(),
335
- });
382
+ const clientOptions = this.resolveClientOptions(options);
336
383
  if (!this.ensurePreparedClient(clientOptions)) {
337
384
  await this.initializeClient(clientOptions);
338
385
  }
@@ -374,10 +421,12 @@ export class AuthenticationManager {
374
421
  return this.authClientConstructor;
375
422
  }
376
423
  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)
424
+ // The specifier must stay a literal: a variable specifier (or /* @vite-ignore */)
425
+ // makes bundlers skip this import entirely, so the bare specifier survives into
426
+ // the browser, where it cannot be resolved without an import map and every login
427
+ // path fails. A literal lets Vite/Rollup/webpack code-split the optional peer,
428
+ // and lets them tree-shake it away for apps that never reference this class.
429
+ this.authClientConstructorPromise = import("@icp-sdk/auth/client")
381
430
  .then((authModule) => {
382
431
  const AuthClient = authModule.AuthClient;
383
432
  if (!AuthClient) {
@@ -407,6 +456,12 @@ function getAuthClientOptions(options) {
407
456
  identityProvider: options.identityProvider,
408
457
  windowOpenerFeatures: options.windowOpenerFeatures,
409
458
  openIdProvider: getAuthClientOpenIdProvider(options.openIdProvider),
459
+ derivationOrigin: options.derivationOrigin,
460
+ storage: options.storage,
461
+ keyType: options.keyType,
462
+ idleOptions: options.idleOptions,
463
+ identity: options.identity,
464
+ transport: options.transport,
410
465
  };
411
466
  }
412
467
  function getAuthClientOpenIdProvider(openIdProvider) {
@@ -416,10 +471,29 @@ function getAuthClientOpenIdProvider(openIdProvider) {
416
471
  ? openIdProvider
417
472
  : undefined;
418
473
  }
419
- function hasAuthClientOptions(options) {
420
- return Boolean(options?.identityProvider ||
421
- options?.windowOpenerFeatures ||
422
- options?.openIdProvider);
474
+ /**
475
+ * Compares the options two AuthClients would be built from. Object-valued
476
+ * options (`storage`, `identity`, `idleOptions`) are compared by reference,
477
+ * which is what module-scoped configuration produces.
478
+ */
479
+ function isSameAuthClientOptions(current, next) {
480
+ if (current === next) {
481
+ return true;
482
+ }
483
+ if (!current || !next) {
484
+ return false;
485
+ }
486
+ return (String(current.identityProvider ?? "") ===
487
+ String(next.identityProvider ?? "") &&
488
+ current.windowOpenerFeatures === next.windowOpenerFeatures &&
489
+ current.openIdProvider === next.openIdProvider &&
490
+ String(current.derivationOrigin ?? "") ===
491
+ String(next.derivationOrigin ?? "") &&
492
+ current.storage === next.storage &&
493
+ current.keyType === next.keyType &&
494
+ current.idleOptions === next.idleOptions &&
495
+ current.identity === next.identity &&
496
+ current.transport === next.transport);
423
497
  }
424
498
  function getAuthenticationCanisterEnv() {
425
499
  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":"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"}
@@ -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"}