@sudoplatform/sudo-user 11.1.0 → 12.0.2

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 (112) hide show
  1. package/cjs/client/apiClient.js +149 -0
  2. package/cjs/client/apiClient.js.map +1 -0
  3. package/cjs/core/api-key-names.js +12 -0
  4. package/cjs/core/api-key-names.js.map +1 -0
  5. package/cjs/core/auth-store.js +92 -0
  6. package/cjs/core/auth-store.js.map +1 -0
  7. package/cjs/core/crypto.js +3 -0
  8. package/cjs/core/crypto.js.map +1 -0
  9. package/cjs/core/key-manager.js +113 -0
  10. package/cjs/core/key-manager.js.map +1 -0
  11. package/cjs/core/protected-store.js +3 -0
  12. package/cjs/core/protected-store.js.map +1 -0
  13. package/cjs/core/publisher.js +3 -0
  14. package/cjs/core/publisher.js.map +1 -0
  15. package/cjs/core/sdk-config.js +61 -0
  16. package/cjs/core/sdk-config.js.map +1 -0
  17. package/cjs/core/subscriber.js +3 -0
  18. package/cjs/core/subscriber.js.map +1 -0
  19. package/cjs/gen/graphql-types.js +105 -0
  20. package/cjs/gen/graphql-types.js.map +1 -0
  21. package/cjs/index.js +13 -0
  22. package/cjs/index.js.map +1 -0
  23. package/cjs/runtimes/browser/browser-crypto.js +10 -0
  24. package/cjs/runtimes/browser/browser-crypto.js.map +1 -0
  25. package/cjs/runtimes/node/node-crypto.js +9 -0
  26. package/cjs/runtimes/node/node-crypto.js.map +1 -0
  27. package/cjs/sdk.js +9 -0
  28. package/cjs/sdk.js.map +1 -0
  29. package/cjs/user/auth-provider.js +116 -0
  30. package/cjs/user/auth-provider.js.map +1 -0
  31. package/cjs/user/auth.js +136 -0
  32. package/cjs/user/auth.js.map +1 -0
  33. package/cjs/user/error.js +33 -0
  34. package/cjs/user/error.js.map +1 -0
  35. package/cjs/user/identity-provider.js +245 -0
  36. package/cjs/user/identity-provider.js.map +1 -0
  37. package/cjs/user/user-client-interface.js +3 -0
  38. package/cjs/user/user-client-interface.js.map +1 -0
  39. package/cjs/user/user-client.js +440 -0
  40. package/cjs/user/user-client.js.map +1 -0
  41. package/cjs/user/user-key-names.js +10 -0
  42. package/cjs/user/user-key-names.js.map +1 -0
  43. package/cjs/utils/resolvable-promise.js +20 -0
  44. package/cjs/utils/resolvable-promise.js.map +1 -0
  45. package/lib/client/apiClient.js +135 -180
  46. package/lib/client/apiClient.js.map +1 -0
  47. package/lib/core/api-key-names.js +8 -14
  48. package/lib/core/api-key-names.js.map +1 -0
  49. package/lib/core/auth-store.js +82 -138
  50. package/lib/core/auth-store.js.map +1 -0
  51. package/lib/core/crypto.js +2 -5
  52. package/lib/core/crypto.js.map +1 -0
  53. package/lib/core/key-manager.js +98 -148
  54. package/lib/core/key-manager.js.map +1 -0
  55. package/lib/core/protected-store.js +2 -5
  56. package/lib/core/protected-store.js.map +1 -0
  57. package/lib/core/publisher.js +2 -5
  58. package/lib/core/publisher.js.map +1 -0
  59. package/lib/core/sdk-config.js +56 -56
  60. package/lib/core/sdk-config.js.map +1 -0
  61. package/lib/core/subscriber.js +2 -5
  62. package/lib/core/subscriber.js.map +1 -0
  63. package/lib/gen/graphql-types.js +96 -135
  64. package/lib/gen/graphql-types.js.map +1 -0
  65. package/lib/index.js +6 -67
  66. package/lib/index.js.map +1 -0
  67. package/lib/runtimes/browser/browser-crypto.js +6 -14
  68. package/lib/runtimes/browser/browser-crypto.js.map +1 -0
  69. package/lib/runtimes/node/node-crypto.js +5 -11
  70. package/lib/runtimes/node/node-crypto.js.map +1 -0
  71. package/lib/sdk.js +6 -18
  72. package/lib/sdk.js.map +1 -0
  73. package/lib/user/auth-provider.js +81 -131
  74. package/lib/user/auth-provider.js.map +1 -0
  75. package/lib/user/auth.js +127 -179
  76. package/lib/user/auth.js.map +1 -0
  77. package/lib/user/error.js +15 -33
  78. package/lib/user/error.js.map +1 -0
  79. package/lib/user/identity-provider.js +228 -254
  80. package/lib/user/identity-provider.js.map +1 -0
  81. package/lib/user/user-client-interface.js +2 -5
  82. package/lib/user/user-client-interface.js.map +1 -0
  83. package/lib/user/user-client.js +423 -510
  84. package/lib/user/user-client.js.map +1 -0
  85. package/lib/user/user-key-names.js +6 -12
  86. package/lib/user/user-key-names.js.map +1 -0
  87. package/lib/utils/resolvable-promise.js +13 -19
  88. package/lib/utils/resolvable-promise.js.map +1 -0
  89. package/package.json +36 -28
  90. package/{lib → types}/client/apiClient.d.ts +0 -0
  91. package/{lib → types}/core/api-key-names.d.ts +0 -0
  92. package/{lib → types}/core/auth-store.d.ts +0 -0
  93. package/{lib → types}/core/crypto.d.ts +0 -0
  94. package/{lib → types}/core/key-manager.d.ts +0 -0
  95. package/types/core/protected-store.d.ts +5 -0
  96. package/{lib → types}/core/publisher.d.ts +0 -0
  97. package/{lib → types}/core/sdk-config.d.ts +0 -0
  98. package/{lib → types}/core/subscriber.d.ts +0 -0
  99. package/{lib → types}/gen/graphql-types.d.ts +0 -0
  100. package/{lib → types}/index.d.ts +0 -0
  101. package/{lib/runtimes/node/node-crypto.d.ts → types/runtimes/browser/browser-crypto.d.ts} +0 -0
  102. package/types/runtimes/node/node-crypto.d.ts +2 -0
  103. package/{lib → types}/sdk.d.ts +0 -0
  104. package/{lib → types}/user/auth-provider.d.ts +0 -0
  105. package/{lib → types}/user/auth.d.ts +0 -0
  106. package/{lib → types}/user/error.d.ts +0 -0
  107. package/{lib → types}/user/identity-provider.d.ts +0 -0
  108. package/{lib → types}/user/user-client-interface.d.ts +0 -0
  109. package/{lib → types}/user/user-client.d.ts +0 -0
  110. package/{lib → types}/user/user-key-names.d.ts +0 -0
  111. package/{lib → types}/utils/resolvable-promise.d.ts +0 -0
  112. package/types/redux-offline/index.d.ts +0 -4
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultSudoUserClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sudo_common_1 = require("@sudoplatform/sudo-common");
6
+ const sudo_web_crypto_provider_1 = require("@sudoplatform/sudo-web-crypto-provider");
7
+ const JWT = tslib_1.__importStar(require("jsonwebtoken"));
8
+ const uuid_1 = require("uuid");
9
+ const apiClient_1 = require("../client/apiClient");
10
+ const api_key_names_1 = require("../core/api-key-names");
11
+ const auth_store_1 = require("../core/auth-store");
12
+ const key_manager_1 = require("../core/key-manager");
13
+ const sdk_config_1 = require("../core/sdk-config");
14
+ const auth_1 = require("./auth");
15
+ const error_1 = require("./error");
16
+ const identity_provider_1 = require("./identity-provider");
17
+ const user_key_names_1 = require("./user-key-names");
18
+ class DefaultSudoUserClient {
19
+ constructor(options) {
20
+ this.logger = options?.logger ?? new sudo_common_1.DefaultLogger('SudoUser', 'warn');
21
+ this.config = options?.config ?? (0, sdk_config_1.getIdentityServiceConfig)();
22
+ this.authenticationStore =
23
+ options?.authenticationStore ?? new auth_store_1.AuthenticationStore();
24
+ if (options?.sudoKeyManager) {
25
+ this.sudoUserKeyManager = options?.sudoKeyManager;
26
+ }
27
+ else {
28
+ const cryptoProvider = new sudo_web_crypto_provider_1.WebSudoCryptoProvider('SudoUserClient', 'com.sudoplatform.appservicename');
29
+ this.sudoUserKeyManager = new sudo_common_1.DefaultSudoKeyManager(cryptoProvider);
30
+ }
31
+ this.keyManager = new key_manager_1.KeyManager(this.sudoUserKeyManager);
32
+ this.launchUriFn = options?.launchUriFn;
33
+ this.identityProvider =
34
+ options?.identityProvider ??
35
+ new identity_provider_1.CognitoUserPoolIdentityProvider(this.keyManager, this.config, this.logger);
36
+ const federatedSignInConfig = this.config?.federatedSignIn;
37
+ if (federatedSignInConfig) {
38
+ this.authUI =
39
+ options?.authUI ??
40
+ new auth_1.CognitoAuthUI(this.authenticationStore, federatedSignInConfig, this.keyManager, this.logger, this.launchUriFn);
41
+ }
42
+ this.apiClient =
43
+ options?.apiClient ??
44
+ new apiClient_1.ApiClient(this.config.identityService.region, this.config.identityService.apiUrl, this, this.logger);
45
+ }
46
+ get sudoKeyManager() {
47
+ return this.sudoUserKeyManager;
48
+ }
49
+ presentFederatedSignInUI() {
50
+ try {
51
+ this.authUI?.presentFederatedSignInUI();
52
+ }
53
+ catch (err) {
54
+ const error = err;
55
+ this.logger.error('Failed to launch the federated sign in UI.', { error });
56
+ throw new sudo_common_1.AuthenticationError(error.message);
57
+ }
58
+ }
59
+ async processFederatedSignInTokens(url) {
60
+ try {
61
+ let authTokens = await this.authUI?.processFederatedSignInTokens(url);
62
+ if (authTokens) {
63
+ authTokens = await this.registerFederatedIdAndRefreshTokens(authTokens);
64
+ return authTokens;
65
+ }
66
+ else {
67
+ throw new sudo_common_1.AuthenticationError('Authentication tokens missing.');
68
+ }
69
+ }
70
+ catch (err) {
71
+ const error = err;
72
+ this.logger.error('Failed to process the federated sign in redirect.', {
73
+ error,
74
+ });
75
+ throw new sudo_common_1.AuthenticationError(error.message);
76
+ }
77
+ }
78
+ async getIdToken() {
79
+ return await this.keyManager.getString(api_key_names_1.apiKeyNames.idToken);
80
+ }
81
+ async getAccessToken() {
82
+ return await this.keyManager.getString(api_key_names_1.apiKeyNames.accessToken);
83
+ }
84
+ async getRefreshToken() {
85
+ return await this.keyManager.getString(api_key_names_1.apiKeyNames.refreshToken);
86
+ }
87
+ async getTokenExpiry() {
88
+ const expiry = await this.keyManager.getString(api_key_names_1.apiKeyNames.tokenExpiry);
89
+ return expiry ? new Date(Number(expiry) * 1000) : undefined;
90
+ }
91
+ async getRefreshTokenExpiry() {
92
+ let expiry = undefined;
93
+ const timeSinceEpoch = await this.keyManager.getString(api_key_names_1.apiKeyNames.refreshTokenExpiry);
94
+ if (timeSinceEpoch) {
95
+ expiry = new Date(Number(timeSinceEpoch));
96
+ }
97
+ return expiry;
98
+ }
99
+ async getUserName() {
100
+ try {
101
+ return await this.keyManager.getString(user_key_names_1.userKeyNames.userId);
102
+ }
103
+ catch {
104
+ return undefined;
105
+ }
106
+ }
107
+ async setUserName(name) {
108
+ await this.keyManager.removeItem(user_key_names_1.userKeyNames.userId);
109
+ await this.keyManager.addString(user_key_names_1.userKeyNames.userId, name);
110
+ }
111
+ async getUserClaim(name) {
112
+ const idToken = await this.getIdToken();
113
+ if (!idToken)
114
+ return undefined;
115
+ return this.getTokenClaim(idToken, name);
116
+ }
117
+ async getSubject() {
118
+ return await this.getUserClaim('sub');
119
+ }
120
+ async isSignedIn() {
121
+ try {
122
+ const authTokens = await this.getAuthTokens();
123
+ const expiry = await this.getRefreshTokenExpiry();
124
+ if (authTokens &&
125
+ authTokens.idToken &&
126
+ authTokens.accessToken &&
127
+ authTokens.refreshToken &&
128
+ expiry &&
129
+ // Considered signed in up to 1 hour before the expiry of refresh token.
130
+ expiry.getTime() > new Date().getTime() + 60 * 60 * 1000) {
131
+ return true;
132
+ }
133
+ else {
134
+ return false;
135
+ }
136
+ }
137
+ catch (err) {
138
+ // The key manager throws a KeyNotFoundError if an item is not found
139
+ // in which case we want to indicate that the user is not signed in.
140
+ return false;
141
+ }
142
+ }
143
+ async refreshTokens(refreshToken) {
144
+ try {
145
+ const uid = await this.getUserName();
146
+ if (uid) {
147
+ const authTokens = await this.identityProvider.refreshTokens(refreshToken);
148
+ await this.storeTokens(uid, authTokens);
149
+ return authTokens;
150
+ }
151
+ else {
152
+ throw new sudo_common_1.NotRegisteredError('Not registered.');
153
+ }
154
+ }
155
+ catch (err) {
156
+ const error = err;
157
+ throw new sudo_common_1.AuthenticationError(error.message);
158
+ }
159
+ }
160
+ async getLatestAuthToken() {
161
+ try {
162
+ const idToken = await this.getIdToken();
163
+ const refreshToken = await this.getRefreshToken();
164
+ const expiry = await this.getTokenExpiry();
165
+ if (idToken && refreshToken && expiry) {
166
+ if (expiry.getTime() > new Date().getTime() + 600 * 1000) {
167
+ return idToken;
168
+ }
169
+ else {
170
+ try {
171
+ const authTokens = await this.refreshTokens(refreshToken);
172
+ return authTokens.idToken;
173
+ }
174
+ catch (error) {
175
+ this.logger.info('getLatestAuthToken: Token refresh failed', {
176
+ error,
177
+ });
178
+ // return an empty id token
179
+ return '';
180
+ }
181
+ }
182
+ }
183
+ else {
184
+ // If tokens are missing then it's likely due to the client not being signed in.
185
+ // Return an empty id token.
186
+ return '';
187
+ }
188
+ }
189
+ catch (err) {
190
+ // The key manager throws a KeyNotFoundError if an item is not found
191
+ // which would indicate that the client is likely not signed in.
192
+ // Return an empty id token.
193
+ return '';
194
+ }
195
+ }
196
+ async signOut() {
197
+ let refreshToken;
198
+ try {
199
+ refreshToken = await this.getRefreshToken();
200
+ }
201
+ catch (err) {
202
+ if (err instanceof sudo_common_1.KeyNotFoundError) {
203
+ throw new sudo_common_1.NotSignedInError();
204
+ }
205
+ else {
206
+ throw err;
207
+ }
208
+ }
209
+ if (refreshToken) {
210
+ await this.identityProvider.signOut(refreshToken);
211
+ }
212
+ else {
213
+ throw new sudo_common_1.NotSignedInError();
214
+ }
215
+ }
216
+ async globalSignOut() {
217
+ if (!(await this.isSignedIn())) {
218
+ throw new sudo_common_1.NotSignedInError();
219
+ }
220
+ await this.apiClient.globalSignOut();
221
+ this.clearAuthenticationTokens();
222
+ }
223
+ async registerWithAuthenticationProvider(authenticationProvider, registrationId) {
224
+ this.logger.info('Registering using an external authentication provider.');
225
+ if (!(await this.isRegistered())) {
226
+ const authInfo = await authenticationProvider.getAuthenticationInfo();
227
+ if (!authInfo.isValid()) {
228
+ throw new sudo_common_1.NotAuthorizedError('Authentication provider returned invalid authentication info.');
229
+ }
230
+ const token = authInfo.encode();
231
+ const jwt = JWT.decode(token, { complete: true });
232
+ let uid;
233
+ if (jwt && jwt.payload['sub']) {
234
+ uid = jwt.payload['sub'];
235
+ }
236
+ else {
237
+ uid = (0, uuid_1.v4)();
238
+ }
239
+ const publicKey = await this.generateRegistrationData();
240
+ const data = {
241
+ challengeType: authInfo.type,
242
+ answer: token,
243
+ registrationId: registrationId ? registrationId : (0, uuid_1.v4)(),
244
+ publicKey: JSON.stringify(publicKeyToRSAPublicKey(publicKey)),
245
+ };
246
+ const validationData = Object.keys(data).map((key) => {
247
+ return {
248
+ Name: key,
249
+ Value: data[key],
250
+ };
251
+ });
252
+ const userId = await this.identityProvider.register(uid, validationData);
253
+ if (userId) {
254
+ await this.setUserName(userId);
255
+ return userId;
256
+ }
257
+ else {
258
+ throw new sudo_common_1.RegisterError('Registration was successful but not user ID was returned.');
259
+ }
260
+ }
261
+ else {
262
+ throw new error_1.AlreadyRegisteredError();
263
+ }
264
+ }
265
+ async signInWithAuthenticationProvider(authenticationProvider) {
266
+ this.logger.info('Signing in using external authentication provider.');
267
+ const authInfo = await authenticationProvider.getAuthenticationInfo();
268
+ if (!authInfo.isValid()) {
269
+ throw new sudo_common_1.NotAuthorizedError('Authentication provider returned invalid authentication info.');
270
+ }
271
+ const uid = authInfo.getUsername();
272
+ const token = authInfo.encode();
273
+ const type = authInfo.type;
274
+ let authTokens = await this.identityProvider.signInWithToken(uid, token, type);
275
+ await this.storeTokens(uid, authTokens);
276
+ authTokens = await this.registerFederatedIdAndRefreshTokens(authTokens);
277
+ return authTokens;
278
+ }
279
+ async isRegistered() {
280
+ try {
281
+ const uid = await this.getUserName();
282
+ return uid ? true : false;
283
+ }
284
+ catch (err) {
285
+ return false;
286
+ }
287
+ }
288
+ async signInWithKey() {
289
+ this.logger.info('Signing in using private key.');
290
+ const uid = await this.getUserName();
291
+ const userKeyId = await this.keyManager.getString('userKeyId');
292
+ if (uid && userKeyId) {
293
+ let authTokens = await this.identityProvider.signInWithKey(uid, userKeyId);
294
+ if (authTokens) {
295
+ await this.storeTokens(uid, authTokens);
296
+ authTokens = await this.registerFederatedIdAndRefreshTokens(authTokens);
297
+ return authTokens;
298
+ }
299
+ else {
300
+ throw new sudo_common_1.FatalError('Unexpected error. Unable to sign in.');
301
+ }
302
+ }
303
+ else {
304
+ throw new sudo_common_1.NotRegisteredError('Not registered.');
305
+ }
306
+ }
307
+ async deregister() {
308
+ await this.apiClient.deregister();
309
+ await this.keyManager.reset();
310
+ this.clearAuthenticationTokens();
311
+ }
312
+ async clearAuthenticationTokens() {
313
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.idToken);
314
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.accessToken);
315
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.refreshToken);
316
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.tokenExpiry);
317
+ this.authenticationStore.reset();
318
+ if (this.authUI) {
319
+ this.authUI.reset();
320
+ }
321
+ }
322
+ presentSignOutUI() {
323
+ this.authUI?.presentSignOutUI();
324
+ }
325
+ reset() {
326
+ this.keyManager.reset();
327
+ this.apiClient.reset();
328
+ this.clearAuthenticationTokens();
329
+ }
330
+ getTokenClaim(token, name) {
331
+ let claim = undefined;
332
+ const decoded = JWT.decode(token, { complete: true });
333
+ if (decoded) {
334
+ claim = decoded.payload[name];
335
+ }
336
+ return claim;
337
+ }
338
+ /**
339
+ * Store the authentication tokens and user id of the signed in user. This function
340
+ * is only called when a user has successfully signed in using a private key.
341
+ */
342
+ async storeTokens(uid, authTokens) {
343
+ await this.keyManager.removeItem(user_key_names_1.userKeyNames.userId);
344
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.idToken);
345
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.accessToken);
346
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.refreshToken);
347
+ await this.keyManager.removeItem(api_key_names_1.apiKeyNames.tokenExpiry);
348
+ await this.keyManager.addString(user_key_names_1.userKeyNames.userId, uid);
349
+ await this.keyManager.addString(api_key_names_1.apiKeyNames.idToken, authTokens.idToken);
350
+ await this.keyManager.addString(api_key_names_1.apiKeyNames.accessToken, authTokens.accessToken);
351
+ await this.keyManager.addString(api_key_names_1.apiKeyNames.refreshToken, authTokens.refreshToken);
352
+ const decoded = JWT.decode(authTokens.idToken, { complete: true });
353
+ if (decoded) {
354
+ const tokenExpiry = decoded.payload['exp'];
355
+ await this.keyManager.addString(api_key_names_1.apiKeyNames.tokenExpiry, tokenExpiry);
356
+ }
357
+ }
358
+ async registerFederatedIdAndRefreshTokens(authTokens) {
359
+ const identityId = this.getTokenClaim(authTokens.idToken, 'custom:identityId');
360
+ if (identityId) {
361
+ return authTokens;
362
+ }
363
+ else {
364
+ await this.apiClient.registerFederatedId({
365
+ idToken: authTokens.idToken,
366
+ });
367
+ // Refresh the ID token so the identity ID is present as a claim.
368
+ const newAuthTokens = await this.refreshTokens(authTokens.refreshToken);
369
+ return newAuthTokens;
370
+ }
371
+ }
372
+ async generateRegistrationData() {
373
+ const keyId = await this.keyManager.generateKeyPair();
374
+ await this.keyManager.removeItem(user_key_names_1.userKeyNames.userKeyId);
375
+ await this.keyManager.addString(user_key_names_1.userKeyNames.userKeyId, keyId);
376
+ const publicKey = await this.keyManager.exportPublicKey(keyId);
377
+ return publicKey;
378
+ }
379
+ async getAuthTokens() {
380
+ const idToken = await this.getIdToken();
381
+ const accessToken = await this.getAccessToken();
382
+ const refreshToken = await this.getRefreshToken();
383
+ const tokenExpiry = await this.getTokenExpiry();
384
+ if (idToken && accessToken && refreshToken && tokenExpiry) {
385
+ return {
386
+ idToken: idToken,
387
+ accessToken: accessToken,
388
+ refreshToken: refreshToken,
389
+ tokenExpiry: tokenExpiry.getTime(),
390
+ };
391
+ }
392
+ else {
393
+ return undefined;
394
+ }
395
+ }
396
+ /**
397
+ * Provide a custom auth UI. This is mainly used for unit testing (optional).
398
+ */
399
+ setAuthUI(authUI) {
400
+ this.authUI = authUI;
401
+ }
402
+ /**
403
+ * Provide a custom identity provider. This is mainly used for unit testing (optional).
404
+ */
405
+ setIdentityProvider(identityProvider) {
406
+ this.identityProvider = identityProvider;
407
+ }
408
+ /**
409
+ * Provide a custom function to open the sign in url.
410
+ * This is mainly used for unit testing (optional).
411
+ */
412
+ setLaunchUriFn(launchUriFn) {
413
+ this.launchUriFn = launchUriFn;
414
+ }
415
+ /**
416
+ * Provide a custom authentication store.
417
+ * This is mainly used for unit testing (optional).
418
+ */
419
+ setAuthenticationStore(authenticationStore) {
420
+ this.authenticationStore = authenticationStore;
421
+ }
422
+ }
423
+ exports.DefaultSudoUserClient = DefaultSudoUserClient;
424
+ /**
425
+ * Convert PublicKey of any format to an RSAPublicKey format public key
426
+ *
427
+ * @param publicKey PublicKey to convert
428
+ * @returns RSAPublicKey formatted PublicKey
429
+ */
430
+ function publicKeyToRSAPublicKey(publicKey) {
431
+ if (publicKey.keyFormat === sudo_common_1.PublicKeyFormat.RSAPublicKey) {
432
+ return publicKey;
433
+ }
434
+ return {
435
+ ...publicKey,
436
+ publicKey: publicKey.publicKey.replace('MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A', ''),
437
+ keyFormat: sudo_common_1.PublicKeyFormat.RSAPublicKey,
438
+ };
439
+ }
440
+ //# sourceMappingURL=user-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-client.js","sourceRoot":"","sources":["../../src/user/user-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.userKeyNames = void 0;
4
+ exports.userKeyNames = {
5
+ symmetricKeyId: 'symmetricKeyId',
6
+ userKeyId: 'userKeyId',
7
+ userId: 'userId',
8
+ identityId: 'identityId',
9
+ };
10
+ //# sourceMappingURL=user-key-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-key-names.js","sourceRoot":"","sources":["../../src/user/user-key-names.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;CACzB,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createResolvablePromise = void 0;
4
+ /**
5
+ * A promise that can be resolved externally
6
+ */
7
+ function createResolvablePromise() {
8
+ let resolve;
9
+ const promise = new Promise((r) => {
10
+ resolve = r;
11
+ });
12
+ return Object.assign(promise, {
13
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
14
+ // @ts-ignore: Assign before use
15
+ // `resolve` is assigned during construction of the promise
16
+ resolve,
17
+ });
18
+ }
19
+ exports.createResolvablePromise = createResolvablePromise;
20
+ //# sourceMappingURL=resolvable-promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvable-promise.js","sourceRoot":"","sources":["../../src/utils/resolvable-promise.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,SAAgB,uBAAuB;IACrC,IAAI,OAAoB,CAAA;IAExB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,EAAE;QACnC,OAAO,GAAG,CAAC,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,6DAA6D;QAC7D,gCAAgC;QAChC,6DAA6D;QAC7D,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAbD,0DAaC"}