@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 +60 -0
- package/dist/client.d.ts +28 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +286 -57
- package/dist/client.js.map +1 -1
- package/dist/identity-attributes.d.ts +14 -0
- package/dist/identity-attributes.d.ts.map +1 -0
- package/dist/identity-attributes.js +161 -0
- package/dist/identity-attributes.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/client.d.ts +68 -2
- package/dist/types/client.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/package.json +11 -11
- package/src/client.ts +382 -61
- package/src/identity-attributes.ts +256 -0
- package/src/index.ts +1 -0
- package/src/types/client.ts +82 -2
- package/src/utils/constants.ts +1 -1
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 {
|
|
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?:
|
|
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: (
|
|
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():
|
|
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
|
*/
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
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
|
|
147
|
-
|
|
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
|
|
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
|
-
|
|
192
|
-
|
|
193
|
-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
-
|
|
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
|
-
|
|
255
|
-
|
|
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
|
|
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
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|