@ic-reactor/core 3.3.1 → 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/README.md CHANGED
@@ -158,6 +158,66 @@ await clientManager.logout()
158
158
  const identity = await clientManager.authenticate()
159
159
  ```
160
160
 
161
+ ### Identity Attributes / OpenID email and profile values
162
+
163
+ `ClientManager` uses the `@icp-sdk/auth` v6 `signIn()` / `requestAttributes()`
164
+ API. Apps can request signed identity attributes directly, without adding a
165
+ local compatibility shim.
166
+
167
+ ```typescript
168
+ import {
169
+ IDENTITY_ATTRIBUTES_BETA_PROVIDER,
170
+ identityAttributeKeys,
171
+ } from "@ic-reactor/core"
172
+
173
+ const nonce = await backend.registerBegin()
174
+
175
+ const result = await clientManager.requestOpenIdIdentityAttributes({
176
+ nonce,
177
+ openIdProvider: "microsoft",
178
+ keys: ["email", "name"],
179
+ identityProvider: IDENTITY_ATTRIBUTES_BETA_PROVIDER,
180
+ windowOpenerFeatures: popupCenter(),
181
+ })
182
+
183
+ console.log(result.decodedAttributes.email)
184
+ console.log(result.decodedAttributes.name)
185
+
186
+ await backend.registerFinish({
187
+ data: result.signedAttributes.data,
188
+ signature: result.signedAttributes.signature,
189
+ })
190
+ ```
191
+
192
+ Pass a documented auth provider alias (`"google"`, `"apple"`, or `"microsoft"`)
193
+ or the OpenID provider issuer URL your app expects:
194
+
195
+ ```typescript
196
+ const result = await clientManager.requestOpenIdIdentityAttributes({
197
+ nonce,
198
+ openIdProvider: "https://issuer.example.com",
199
+ keys: ["sub", "email"],
200
+ })
201
+ ```
202
+
203
+ For lower-level control, pass scoped keys yourself:
204
+
205
+ ```typescript
206
+ const result = await clientManager.requestIdentityAttributes({
207
+ nonce,
208
+ keys: identityAttributeKeys({
209
+ openIdProvider: "https://issuer.example.com",
210
+ keys: ["sub", "email"],
211
+ }),
212
+ identityProvider: "https://beta.id.ai/authorize",
213
+ })
214
+ ```
215
+
216
+ The frontend `decodedAttributes` values are a display convenience for UX only.
217
+ Production code must verify `signedAttributes.data`, `signedAttributes.signature`,
218
+ the backend-issued nonce, origin, timestamp, and expected keys in the canister or
219
+ backend before trusting or storing an email or name.
220
+
161
221
  ### State Subscriptions
162
222
 
163
223
  ```typescript
package/dist/client.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { Identity } from "@icp-sdk/core/agent";
2
- import type { AuthClient, AuthClientLoginOptions } from "@icp-sdk/auth/client";
3
- import type { ClientManagerParameters, AgentState, AuthState } from "./types/client";
2
+ import type { ClientManagerParameters, AgentState, AuthState, AuthClientLike, ClientManagerAuthClientOptions, ClientManagerSignInOptions, IdentityAttributeResult, RequestIdentityAttributesParameters, RequestOpenIdIdentityAttributesParameters } from "./types/client";
4
3
  import type { Principal } from "@icp-sdk/core/principal";
5
4
  import type { QueryClient } from "@tanstack/react-query";
6
5
  import { HttpAgent } from "@icp-sdk/core/agent";
@@ -40,6 +39,10 @@ export declare class ClientManager {
40
39
  authState: AuthState;
41
40
  private initPromise?;
42
41
  private authPromise?;
42
+ private authClientConstructor?;
43
+ private authClientConstructorPromise?;
44
+ private authStateRevision;
45
+ private authClientWasProvided;
43
46
  private port;
44
47
  private internetIdentityId?;
45
48
  /**
@@ -56,6 +59,15 @@ export declare class ClientManager {
56
59
  * @returns A promise that resolves to the ClientManager instance when core initialization is complete.
57
60
  */
58
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>;
59
71
  /**
60
72
  * Specifically initializes the HttpAgent.
61
73
  * On local networks, this includes fetching the root key for certificate verification.
@@ -82,13 +94,17 @@ export declare class ClientManager {
82
94
  * @param loginOptions - Options for the login flow, including identity provider and callbacks.
83
95
  * @throws An error if the authentication module is not installed.
84
96
  */
85
- login: (loginOptions?: AuthClientLoginOptions) => Promise<void>;
97
+ login: (loginOptions?: ClientManagerSignInOptions) => Promise<void>;
86
98
  /**
87
99
  * Logs out the user and reverts the agent to an anonymous identity.
88
100
  *
89
101
  * @throws An error if the authentication module is not installed.
90
102
  */
91
- logout: () => Promise<void>;
103
+ logout: (options?: {
104
+ returnTo?: string;
105
+ }) => Promise<void>;
106
+ requestIdentityAttributes: ({ keys, nonce, identityProvider, openIdProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
107
+ requestOpenIdIdentityAttributes: ({ nonce, openIdProvider, keys, identityProvider, windowOpenerFeatures, signIn, maxTimeToLive, targets, }: RequestOpenIdIdentityAttributesParameters) => Promise<IdentityAttributeResult>;
92
108
  /**
93
109
  * The underlying HttpAgent managed by this class.
94
110
  */
@@ -96,7 +112,14 @@ export declare class ClientManager {
96
112
  /**
97
113
  * The AuthClient instance used for authentication, if available.
98
114
  */
99
- get authClient(): AuthClient | undefined;
115
+ get authClient(): AuthClientLike | undefined;
116
+ private initializeAuthClient;
117
+ private signInOrRecoverAuthenticatedIdentity;
118
+ private loadAuthClientConstructor;
119
+ private createAuthClient;
120
+ private ensurePreparedAuthClient;
121
+ private shouldRecreateAuthClient;
122
+ private syncAuthStateFromClient;
100
123
  /**
101
124
  * The host URL of the current IC agent.
102
125
  */
@@ -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,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EACV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAa/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;;IAQxB;;OAEG;IACI,WAAW,EAAE,WAAW,CAAA;IAC/B;;OAEG;IACI,UAAU,EAAE,UAAU,CAAA;IAC7B;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IAEnC;;;;OAIG;gBACS,EACV,IAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAiB,EACjB,WAAW,EACX,UAAU,GACX,EAAE,uBAAuB;IAgG1B;;;;;;OAMG;IACU,UAAU;IAMvB;;;;;OAKG;IACU,eAAe;IAuC5B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC;;;;;;;;;;OAUG;IACI,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA2D5D;IAED;;;;;OAKG;IACI,KAAK,GAAU,eAAe,sBAAsB,mBAqD1D;IAED;;;;OAIG;IACI,MAAM,sBAiBZ;IAED;;OAEG;IACH,IAAI,KAAK,cAER;IAED;;OAEG;IACH,IAAI,UAAU,2BAEb;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,8BAGV;IAED;;OAEG;IACI,gBAAgB;IAIvB;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIjD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,SAAS;IAI7C,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IASvD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAShE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAwBrC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EACV,uBAAuB,EACvB,UAAU,EACV,SAAS,EAET,cAAc,EACd,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,mCAAmC,EACnC,yCAAyC,EAC1C,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAuB/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;;IAQxB;;OAEG;IACI,WAAW,EAAE,WAAW,CAAA;IAC/B;;OAEG;IACI,UAAU,EAAE,UAAU,CAAA;IAC7B;;OAEG;IACI,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,WAAW,CAAC,CAAe;IACnC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IACrD,OAAO,CAAC,4BAA4B,CAAC,CAEpC;IACD,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IAEnC;;;;OAIG;gBACS,EACV,IAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAiB,EACjB,WAAW,EACX,UAAU,GACX,EAAE,uBAAuB;IAgG1B;;;;;;OAMG;IACU,UAAU;IAMvB;;;;;;;OAOG;IACU,iBAAiB,CAAC,OAAO,CAAC,EAAE,8BAA8B;IAWvE;;;;;OAKG;IACU,eAAe;IAuC5B,OAAO,CAAC,iBAAiB,CAAQ;IAEjC;;;;;;;;;;OAUG;IACI,YAAY,QAAa,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAoD5D;IAED;;;;;OAKG;IACI,KAAK,GAAU,eAAe,0BAA0B,mBA8D9D;IAED;;;;OAIG;IACI,MAAM,GAAU,UAAU;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,mBAerD;IAEM,yBAAyB,GAAU,0GASvC,mCAAmC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAqExE;IAEM,+BAA+B,GAAU,0GAS7C,yCAAyC,KAAG,OAAO,CAAC,uBAAuB,CAAC,CAW9E;IAED;;OAEG;IACH,IAAI,KAAK,cAER;IAED;;OAEG;IACH,IAAI,UAAU,+BAEb;YAEa,oBAAoB;YAapB,oCAAoC;YA2BpC,yBAAyB;IAqCvC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,wBAAwB;YAMlB,uBAAuB;IAmBrC;;OAEG;IACH,IAAI,SAAS,IAAI,GAAG,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,IAAI,aAAa,WAEhB;IAED;;OAEG;IACH,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,IAAI,OAAO,8BAGV;IAED;;OAEG;IACI,gBAAgB;IAIvB;;;OAGG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIjD;;OAEG;IACI,kBAAkB,CAAC,QAAQ,EAAE,SAAS;IAI7C,OAAO,CAAC,0BAA0B;IAWlC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;IASvD;;;;OAIG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;IAShE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI;IAS9D;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAwBrC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;CAMxB"}
package/dist/client.js CHANGED
@@ -14,6 +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, identityAttributeKeys, normalizeSignedIdentityAttributes, } from "./identity-attributes";
17
18
  /**
18
19
  * ClientManager is a central class for managing the Internet Computer (IC) agent and authentication state.
19
20
  *
@@ -90,6 +91,30 @@ export class ClientManager {
90
91
  writable: true,
91
92
  value: void 0
92
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
+ });
106
+ Object.defineProperty(this, "authStateRevision", {
107
+ enumerable: true,
108
+ configurable: true,
109
+ writable: true,
110
+ value: 0
111
+ });
112
+ Object.defineProperty(this, "authClientWasProvided", {
113
+ enumerable: true,
114
+ configurable: true,
115
+ writable: true,
116
+ value: false
117
+ });
93
118
  Object.defineProperty(this, "port", {
94
119
  enumerable: true,
95
120
  configurable: true,
@@ -143,23 +168,18 @@ export class ClientManager {
143
168
  this.updateAuthState({ isAuthenticating: true });
144
169
  try {
145
170
  if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
146
- const authModule = await import("@icp-sdk/auth/client").catch(() => {
147
- this.authModuleMissing = true;
148
- return null;
149
- });
150
- if (!authModule) {
151
- this.authModuleMissing = true;
171
+ const authClient = await this.initializeAuthClient();
172
+ if (!authClient) {
152
173
  this.updateAuthState({ isAuthenticating: false });
153
174
  return undefined;
154
175
  }
155
- const { AuthClient } = authModule;
156
- __classPrivateFieldSet(this, _ClientManager_authClient, await AuthClient.create(), "f");
157
176
  }
158
- const identity = __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
177
+ const identity = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
178
+ const isAuthenticated = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").isAuthenticated();
159
179
  this.updateAgent(identity);
160
180
  this.updateAuthState({
161
181
  identity,
162
- isAuthenticated: !identity.getPrincipal().isAnonymous(),
182
+ isAuthenticated,
163
183
  isAuthenticating: false,
164
184
  });
165
185
  return identity;
@@ -187,10 +207,15 @@ export class ClientManager {
187
207
  configurable: true,
188
208
  writable: true,
189
209
  value: async (loginOptions) => {
210
+ let didCompleteSignIn = false;
190
211
  try {
191
- // Ensure agent is initialized before login
192
- if (!this.agentState.isInitialized) {
193
- await this.initializeAgent();
212
+ const identityProvider = loginOptions?.identityProvider || this.getDefaultIdentityProvider();
213
+ const authClientOptions = getAuthClientOptions({
214
+ ...loginOptions,
215
+ identityProvider,
216
+ });
217
+ if (!this.ensurePreparedAuthClient(authClientOptions)) {
218
+ await this.initializeAuthClient(authClientOptions);
194
219
  }
195
220
  if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
196
221
  await this.authenticate();
@@ -199,38 +224,34 @@ export class ClientManager {
199
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");
200
225
  }
201
226
  this.updateAuthState({ isAuthenticating: true, error: undefined });
202
- // Auto-detect identity provider based on network if not provided
203
- const identityProvider = loginOptions?.identityProvider || this.getDefaultIdentityProvider();
204
- await __classPrivateFieldGet(this, _ClientManager_authClient, "f").login({
205
- ...loginOptions,
206
- identityProvider,
207
- onSuccess: () => {
208
- const identity = __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
209
- if (identity) {
210
- this.updateAgent(identity);
211
- this.updateAuthState({
212
- identity,
213
- isAuthenticated: true,
214
- isAuthenticating: false,
215
- });
216
- }
217
- ;
218
- loginOptions?.onSuccess?.();
219
- },
220
- onError: (error) => {
221
- this.updateAuthState({
222
- error: new Error(error),
223
- isAuthenticating: false,
224
- });
225
- loginOptions?.onError?.(error);
226
- },
227
- });
228
- }
229
- catch (error) {
227
+ const identity = await this.signInOrRecoverAuthenticatedIdentity(getSignInOptions(loginOptions));
228
+ if (!this.agentState.isInitialized) {
229
+ await this.initializeAgent();
230
+ }
231
+ this.updateAgent(identity);
230
232
  this.updateAuthState({
231
- error: error,
233
+ identity,
234
+ isAuthenticated: true,
232
235
  isAuthenticating: false,
233
236
  });
237
+ didCompleteSignIn = true;
238
+ try {
239
+ await loginOptions?.onSuccess?.();
240
+ }
241
+ catch (callbackError) {
242
+ this.updateAuthState({ error: callbackError });
243
+ await loginOptions?.onError?.(callbackError.message);
244
+ throw callbackError;
245
+ }
246
+ }
247
+ catch (error) {
248
+ if (!didCompleteSignIn) {
249
+ await loginOptions?.onError?.(error.message);
250
+ this.updateAuthState({
251
+ error: error,
252
+ isAuthenticating: false,
253
+ });
254
+ }
234
255
  throw error;
235
256
  }
236
257
  }
@@ -244,21 +265,97 @@ export class ClientManager {
244
265
  enumerable: true,
245
266
  configurable: true,
246
267
  writable: true,
247
- value: async () => {
268
+ value: async (options) => {
248
269
  if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
249
270
  throw new Error("Authentication module is missing or failed to initialize. To use logout, please install the auth package: npm install @icp-sdk/auth");
250
271
  }
251
272
  this.updateAuthState({ isAuthenticating: true, error: undefined });
252
- await __classPrivateFieldGet(this, _ClientManager_authClient, "f").logout();
253
- const identity = __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
254
- if (identity) {
255
- this.updateAgent(identity);
273
+ await __classPrivateFieldGet(this, _ClientManager_authClient, "f").logout(options);
274
+ const identity = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
275
+ this.updateAgent(identity);
276
+ this.updateAuthState({
277
+ identity,
278
+ isAuthenticated: false,
279
+ isAuthenticating: false,
280
+ });
281
+ }
282
+ });
283
+ Object.defineProperty(this, "requestIdentityAttributes", {
284
+ enumerable: true,
285
+ configurable: true,
286
+ writable: true,
287
+ value: async ({ keys, nonce, identityProvider = IDENTITY_ATTRIBUTES_BETA_PROVIDER, openIdProvider, windowOpenerFeatures, signIn = true, maxTimeToLive, targets, }) => {
288
+ const authClientOptions = getAuthClientOptions({
289
+ identityProvider,
290
+ windowOpenerFeatures,
291
+ openIdProvider,
292
+ });
293
+ if (!this.ensurePreparedAuthClient(authClientOptions)) {
294
+ await this.initializeAuthClient(authClientOptions);
295
+ }
296
+ if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
297
+ await this.authenticate();
298
+ }
299
+ if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
300
+ throw new Error("Authentication module is missing or failed to initialize. To request identity attributes, please install @icp-sdk/auth v6 or provide a compatible authClient.");
301
+ }
302
+ this.updateAuthState({ isAuthenticating: true, error: undefined });
303
+ try {
304
+ const identityPromise = signIn
305
+ ? this.signInOrRecoverAuthenticatedIdentity({
306
+ maxTimeToLive,
307
+ targets,
308
+ })
309
+ : Promise.resolve(__classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity());
310
+ const requestPromise = __classPrivateFieldGet(this, _ClientManager_authClient, "f").requestAttributes({
311
+ keys,
312
+ nonce,
313
+ });
314
+ const [signedAttributes, identity] = await Promise.all([
315
+ requestPromise,
316
+ identityPromise,
317
+ ]);
318
+ const finalIdentity = identity ?? (await __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity());
319
+ const isAuthenticated = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").isAuthenticated();
320
+ if (!this.agentState.isInitialized) {
321
+ await this.initializeAgent();
322
+ }
323
+ this.updateAgent(finalIdentity);
256
324
  this.updateAuthState({
257
- identity,
258
- isAuthenticated: false,
325
+ identity: finalIdentity,
326
+ isAuthenticated,
259
327
  isAuthenticating: false,
260
328
  });
329
+ const normalizedSignedAttributes = normalizeSignedIdentityAttributes(signedAttributes);
330
+ return {
331
+ principal: finalIdentity.getPrincipal().toText(),
332
+ requestedKeys: keys,
333
+ signedAttributes: normalizedSignedAttributes,
334
+ decodedAttributes: decodeIdentityAttributeValues(normalizedSignedAttributes.data, keys),
335
+ completedAt: new Date().toISOString(),
336
+ };
261
337
  }
338
+ catch (error) {
339
+ this.updateAuthState({ error: error, isAuthenticating: false });
340
+ throw error;
341
+ }
342
+ }
343
+ });
344
+ Object.defineProperty(this, "requestOpenIdIdentityAttributes", {
345
+ enumerable: true,
346
+ configurable: true,
347
+ writable: true,
348
+ value: async ({ nonce, openIdProvider, keys, identityProvider = IDENTITY_ATTRIBUTES_BETA_PROVIDER, windowOpenerFeatures, signIn, maxTimeToLive, targets, }) => {
349
+ return this.requestIdentityAttributes({
350
+ keys: identityAttributeKeys({ openIdProvider, keys }),
351
+ nonce,
352
+ identityProvider,
353
+ openIdProvider,
354
+ windowOpenerFeatures,
355
+ signIn,
356
+ maxTimeToLive,
357
+ targets,
358
+ });
262
359
  }
263
360
  });
264
361
  this.queryClient = queryClient;
@@ -333,15 +430,16 @@ export class ClientManager {
333
430
  network: this.network,
334
431
  });
335
432
  if (authClient) {
433
+ this.authClientWasProvided = true;
336
434
  __classPrivateFieldSet(this, _ClientManager_authClient, authClient, "f");
337
- const identity = __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
338
- this.updateAgent(identity);
339
- this.authState = {
340
- identity,
341
- isAuthenticated: !identity.getPrincipal().isAnonymous(),
342
- isAuthenticating: false,
343
- error: undefined,
344
- };
435
+ this.syncAuthStateFromClient(this.authStateRevision).catch((error) => {
436
+ this.updateAuthState({ error: error, isAuthenticating: false });
437
+ });
438
+ }
439
+ else if (typeof window !== "undefined") {
440
+ this.loadAuthClientConstructor().catch(() => {
441
+ // Optional auth support is reported when an auth method is used.
442
+ });
345
443
  }
346
444
  }
347
445
  /**
@@ -356,6 +454,21 @@ export class ClientManager {
356
454
  this.authenticate();
357
455
  return this;
358
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
+ }
359
472
  /**
360
473
  * Specifically initializes the HttpAgent.
361
474
  * On local networks, this includes fetching the root key for certificate verification.
@@ -406,6 +519,90 @@ export class ClientManager {
406
519
  get authClient() {
407
520
  return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
408
521
  }
522
+ async initializeAuthClient(options) {
523
+ const AuthClient = await this.loadAuthClientConstructor();
524
+ if (!AuthClient) {
525
+ return undefined;
526
+ }
527
+ __classPrivateFieldSet(this, _ClientManager_authClient, this.createAuthClient(AuthClient, options), "f");
528
+ return __classPrivateFieldGet(this, _ClientManager_authClient, "f");
529
+ }
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;
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) {
573
+ return new AuthClient(options);
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
+ }
586
+ shouldRecreateAuthClient(options) {
587
+ return !this.authClientWasProvided && hasAuthClientOptions(options);
588
+ }
589
+ async syncAuthStateFromClient(revision = this.authStateRevision) {
590
+ if (!__classPrivateFieldGet(this, _ClientManager_authClient, "f")) {
591
+ return;
592
+ }
593
+ const identity = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").getIdentity();
594
+ const isAuthenticated = await __classPrivateFieldGet(this, _ClientManager_authClient, "f").isAuthenticated();
595
+ if (revision !== this.authStateRevision) {
596
+ return;
597
+ }
598
+ this.updateAgent(identity);
599
+ this.updateAuthState({
600
+ identity,
601
+ isAuthenticated,
602
+ isAuthenticating: false,
603
+ error: undefined,
604
+ });
605
+ }
409
606
  /**
410
607
  * The host URL of the current IC agent.
411
608
  */
@@ -551,9 +748,41 @@ export class ClientManager {
551
748
  updateAuthState(newState) {
552
749
  if (isDev())
553
750
  console.debug("[ic-reactor] Updating Auth State:", newState);
751
+ this.authStateRevision += 1;
554
752
  this.authState = { ...this.authState, ...newState };
555
753
  this.notifyAuthStateSubscribers(this.authState);
556
754
  }
557
755
  }
558
756
  _ClientManager_agent = new WeakMap(), _ClientManager_authClient = new WeakMap(), _ClientManager_identitySubscribers = new WeakMap(), _ClientManager_agentStateSubscribers = new WeakMap(), _ClientManager_authStateSubscribers = new WeakMap(), _ClientManager_targetCanisterIds = new WeakMap();
757
+ function getAuthClientOptions(options) {
758
+ if (!options) {
759
+ return undefined;
760
+ }
761
+ return {
762
+ identityProvider: options.identityProvider,
763
+ windowOpenerFeatures: options.windowOpenerFeatures,
764
+ openIdProvider: getAuthClientOpenIdProvider(options.openIdProvider),
765
+ };
766
+ }
767
+ function getAuthClientOpenIdProvider(openIdProvider) {
768
+ return openIdProvider === "google" ||
769
+ openIdProvider === "apple" ||
770
+ openIdProvider === "microsoft"
771
+ ? openIdProvider
772
+ : undefined;
773
+ }
774
+ function hasAuthClientOptions(options) {
775
+ return Boolean(options?.identityProvider ||
776
+ options?.windowOpenerFeatures ||
777
+ options?.openIdProvider);
778
+ }
779
+ function getSignInOptions(options) {
780
+ if (!options) {
781
+ return undefined;
782
+ }
783
+ return {
784
+ maxTimeToLive: options.maxTimeToLive,
785
+ targets: options.targets,
786
+ };
787
+ }
559
788
  //# sourceMappingURL=client.js.map
@@ -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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"}