@unchainedshop/core-users 2.14.2 → 3.0.0-alpha3

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 (75) hide show
  1. package/lib/db/UsersCollection.d.ts +1 -1
  2. package/lib/db/UsersCollection.d.ts.map +1 -1
  3. package/lib/db/UsersCollection.js +0 -8
  4. package/lib/db/UsersCollection.js.map +1 -1
  5. package/lib/db/WebAuthnCredentialsCreationRequestsCollection.d.ts +8 -0
  6. package/lib/db/WebAuthnCredentialsCreationRequestsCollection.d.ts.map +1 -0
  7. package/lib/db/WebAuthnCredentialsCreationRequestsCollection.js +13 -0
  8. package/lib/db/WebAuthnCredentialsCreationRequestsCollection.js.map +1 -0
  9. package/lib/module/addMigrations.d.ts +1 -1
  10. package/lib/module/addMigrations.d.ts.map +1 -1
  11. package/lib/module/configureUsersModule.d.ts +128 -3
  12. package/lib/module/configureUsersModule.d.ts.map +1 -1
  13. package/lib/module/configureUsersModule.js +279 -51
  14. package/lib/module/configureUsersModule.js.map +1 -1
  15. package/lib/module/configureUsersWebAuthnModule.d.ts +12 -0
  16. package/lib/module/configureUsersWebAuthnModule.d.ts.map +1 -0
  17. package/lib/module/configureUsersWebAuthnModule.js +148 -0
  18. package/lib/module/configureUsersWebAuthnModule.js.map +1 -0
  19. package/lib/module/pbkdf2.d.ts +4 -0
  20. package/lib/module/pbkdf2.d.ts.map +1 -0
  21. package/lib/module/pbkdf2.js +27 -0
  22. package/lib/module/pbkdf2.js.map +1 -0
  23. package/lib/module/sha256.d.ts +2 -0
  24. package/lib/module/sha256.d.ts.map +1 -0
  25. package/lib/module/sha256.js +6 -0
  26. package/lib/module/sha256.js.map +1 -0
  27. package/lib/services/migrateUserDataService.d.ts +4 -0
  28. package/lib/services/migrateUserDataService.d.ts.map +1 -0
  29. package/lib/services/migrateUserDataService.js +18 -0
  30. package/lib/services/migrateUserDataService.js.map +1 -0
  31. package/lib/services/updateUserAvatarAfterUploadService.d.ts +5 -1
  32. package/lib/services/updateUserAvatarAfterUploadService.d.ts.map +1 -1
  33. package/lib/services/updateUserAvatarAfterUploadService.js.map +1 -1
  34. package/lib/services/userServices.d.ts +6 -1
  35. package/lib/services/userServices.d.ts.map +1 -1
  36. package/lib/services/userServices.js +3 -5
  37. package/lib/services/userServices.js.map +1 -1
  38. package/lib/types.d.ts +88 -0
  39. package/lib/types.d.ts.map +1 -0
  40. package/lib/types.js +2 -0
  41. package/lib/types.js.map +1 -0
  42. package/lib/users-index.d.ts +4 -2
  43. package/lib/users-index.d.ts.map +1 -1
  44. package/lib/users-index.js +4 -2
  45. package/lib/users-index.js.map +1 -1
  46. package/lib/users-settings.d.ts +21 -0
  47. package/lib/users-settings.d.ts.map +1 -0
  48. package/lib/users-settings.js +48 -0
  49. package/lib/users-settings.js.map +1 -0
  50. package/package.json +10 -11
  51. package/src/db/UsersCollection.ts +1 -10
  52. package/src/db/WebAuthnCredentialsCreationRequestsCollection.ts +20 -0
  53. package/src/module/addMigrations.ts +1 -1
  54. package/src/module/configureUsersModule.ts +480 -68
  55. package/src/module/configureUsersWebAuthnModule.ts +221 -0
  56. package/src/module/pbkdf2.ts +39 -0
  57. package/src/module/removeConfidentialServiceHashes.test.ts +1 -1
  58. package/src/module/sha256.ts +5 -0
  59. package/src/services/migrateUserDataService.ts +37 -0
  60. package/src/services/updateUserAvatarAfterUploadService.ts +7 -1
  61. package/src/services/userServices.ts +11 -6
  62. package/src/types.ts +101 -0
  63. package/src/users-index.ts +4 -3
  64. package/src/users-settings.ts +78 -0
  65. package/tests/mock/user-mock.ts +0 -8
  66. package/lib/services/getUserCountryService.d.ts +0 -3
  67. package/lib/services/getUserCountryService.d.ts.map +0 -1
  68. package/lib/services/getUserCountryService.js +0 -7
  69. package/lib/services/getUserCountryService.js.map +0 -1
  70. package/lib/services/getUserLanguageService.d.ts +0 -3
  71. package/lib/services/getUserLanguageService.d.ts.map +0 -1
  72. package/lib/services/getUserLanguageService.js +0 -7
  73. package/lib/services/getUserLanguageService.js.map +0 -1
  74. package/src/services/getUserCountryService.ts +0 -8
  75. package/src/services/getUserLanguageService.ts +0 -8
@@ -1,21 +1,27 @@
1
- import localePkg from 'locale';
2
- import { log, LogLevel } from '@unchainedshop/logger';
1
+ import bcrypt from 'bcryptjs';
3
2
  import { emit, registerEvents } from '@unchainedshop/events';
4
- import { generateDbFilterById, buildSortOptions } from '@unchainedshop/mongodb';
3
+ import { generateDbFilterById, buildSortOptions, generateDbObjectId, } from '@unchainedshop/mongodb';
5
4
  import { systemLocale } from '@unchainedshop/utils';
6
5
  import { FileDirector } from '@unchainedshop/file-upload';
7
- import { SortDirection } from '@unchainedshop/types/api.js';
8
- import { v4 as uuidv4 } from 'uuid';
6
+ import { SortDirection } from '@unchainedshop/utils';
9
7
  import { UsersCollection } from '../db/UsersCollection.js';
10
8
  import addMigrations from './addMigrations.js';
11
- const { Locale } = localePkg;
9
+ import { userSettings } from '../users-settings.js';
10
+ import { configureUsersWebAuthnModule } from './configureUsersWebAuthnModule.js';
11
+ import * as pbkdf2 from './pbkdf2.js';
12
+ import * as sha256 from './sha256.js';
12
13
  const USER_EVENTS = [
14
+ 'USER_ACCOUNT_ACTION',
15
+ 'USER_CREATE',
16
+ 'USER_ADD_ROLES',
13
17
  'USER_UPDATE',
14
18
  'USER_UPDATE_PROFILE',
15
- 'USER_ADD_ROLES',
16
19
  'USER_UPDATE_ROLE',
17
20
  'USER_UPDATE_TAGS',
18
21
  'USER_UPDATE_AVATAR',
22
+ 'USER_UPDATE_GUEST',
23
+ 'USER_UPDATE_USERNAME',
24
+ 'USER_UPDATE_PASSWORD',
19
25
  'USER_UPDATE_HEARTBEAT',
20
26
  'USER_UPDATE_BILLING_ADDRESS',
21
27
  'USER_UPDATE_LAST_CONTACT',
@@ -39,14 +45,17 @@ FileDirector.registerFileUploadCallback('user-avatars', async (file, context) =>
39
45
  const { services } = context;
40
46
  return services.users.updateUserAvatarAfterUpload({ file }, context);
41
47
  });
42
- export const configureUsersModule = async ({ db, migrationRepository, }) => {
48
+ export const configureUsersModule = async ({ db, options, migrationRepository, }) => {
49
+ userSettings.configureSettings(options || {}, db);
43
50
  registerEvents(USER_EVENTS);
44
51
  const Users = await UsersCollection(db);
45
52
  // Migration
46
53
  addMigrations(migrationRepository);
54
+ const webAuthn = await configureUsersWebAuthnModule({ db, options });
47
55
  return {
48
56
  // Queries
49
- count: async (query) => {
57
+ webAuthn,
58
+ async count(query) {
50
59
  const userCount = await Users.countDocuments(buildFindSelector(query));
51
60
  return userCount;
52
61
  },
@@ -55,33 +64,81 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
55
64
  return null;
56
65
  return Users.findOne(generateDbFilterById(userId), {});
57
66
  },
58
- async findUserByToken({ resetToken, hashedToken, verifyEmailToken }) {
59
- if (hashedToken) {
60
- return Users.findOne({
61
- 'services.resume.loginTokens.hashedToken': hashedToken,
62
- });
63
- }
64
- if (resetToken) {
65
- return Users.findOne({
66
- 'services.password.reset.token': resetToken,
67
- });
68
- }
69
- if (verifyEmailToken) {
70
- return Users.findOne({
67
+ async findUserByUsername(username) {
68
+ if (!username)
69
+ return null;
70
+ return Users.findOne({ username }, {});
71
+ },
72
+ async findUserByEmail(email) {
73
+ if (!email)
74
+ return null;
75
+ return Users.findOne({ 'emails.address': { $regex: email, $options: 'i' } }, {});
76
+ },
77
+ async findUnverifiedEmailToken(plainToken) {
78
+ if (!plainToken)
79
+ return null;
80
+ const token = await sha256.hash(plainToken);
81
+ const user = await Users.findOne({
82
+ 'services.email.verificationTokens': {
83
+ $elemMatch: {
84
+ token,
85
+ when: { $gt: new Date().getTime() },
86
+ },
87
+ },
88
+ }, {});
89
+ if (!user)
90
+ return null;
91
+ const verificationToken = user.services.email.verificationTokens.find((v) => v.token === token);
92
+ return {
93
+ userId: user._id,
94
+ ...verificationToken,
95
+ };
96
+ },
97
+ async verifyEmail(userId, address) {
98
+ await Users.updateOne({ _id: userId }, {
99
+ $set: {
100
+ 'emails.$[email].verified': true,
101
+ },
102
+ $pull: {
71
103
  'services.email.verificationTokens': {
72
- $elemMatch: {
73
- token: verifyEmailToken,
74
- },
104
+ address,
75
105
  },
106
+ },
107
+ }, {
108
+ arrayFilters: [{ 'email.address': address }],
109
+ });
110
+ await emit('USER_ACCOUNT_ACTION', {
111
+ action: 'email-verified',
112
+ address,
113
+ userId,
114
+ });
115
+ },
116
+ async findUserByResetToken(plainToken) {
117
+ const token = await sha256.hash(plainToken);
118
+ const user = await Users.findOne({
119
+ 'services.password.reset': {
120
+ $elemMatch: {
121
+ token,
122
+ when: { $gt: new Date().getTime() },
123
+ },
124
+ },
125
+ }, {});
126
+ return user;
127
+ },
128
+ async findUserByToken(plainToken) {
129
+ const token = await sha256.hash(plainToken);
130
+ if (token) {
131
+ return Users.findOne({
132
+ 'services.token.secret': token,
76
133
  });
77
134
  }
78
135
  return null;
79
136
  },
80
- findUser: async (query, options) => {
137
+ async findUser(query, findOptions) {
81
138
  const selector = buildFindSelector(query);
82
- return Users.findOne(selector, options);
139
+ return Users.findOne(selector, findOptions);
83
140
  },
84
- findUsers: async ({ limit, offset, ...query }) => {
141
+ async findUsers({ limit, offset, ...query }) {
85
142
  const defaultSort = [{ key: 'created', value: SortDirection.ASC }];
86
143
  const selector = buildFindSelector(query);
87
144
  if (query.queryString) {
@@ -98,24 +155,197 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
98
155
  sort: buildSortOptions(query.sort || defaultSort),
99
156
  }).toArray();
100
157
  },
101
- userExists: async ({ userId }) => {
158
+ async userExists({ userId }) {
102
159
  const selector = generateDbFilterById(userId);
103
160
  selector.deleted = null; // skip deleted users when checked for existance!
104
161
  const userCount = await Users.countDocuments(selector, { limit: 1 });
105
- return !!userCount;
162
+ return userCount === 1;
106
163
  },
107
164
  // Transformations
108
- primaryEmail: (user) => {
165
+ primaryEmail(user) {
109
166
  return (user.emails || []).sort((left, right) => Number(right.verified) - Number(left.verified))?.[0];
110
167
  },
111
- userLocale: (user) => {
168
+ userLocale(user) {
112
169
  if (!user?.lastLogin?.locale)
113
170
  return systemLocale;
114
- return new Locale(user.lastLogin.locale);
171
+ return new Intl.Locale(user.lastLogin.locale);
172
+ },
173
+ // Mutations
174
+ async createUser({ password, email, username, initialPassword, roles, webAuthnPublicKeyCredentials, ...userData }, { skipMessaging, skipPasswordEnrollment, } = {}) {
175
+ const normalizedUserData = await userSettings.validateNewUser(userData);
176
+ const webAuthnService = webAuthnPublicKeyCredentials &&
177
+ (await this.webAuthn.verifyCredentialCreation(username, webAuthnPublicKeyCredentials));
178
+ const services = {};
179
+ if (email) {
180
+ if (!(await userSettings.validateEmail(email))) {
181
+ throw new Error(`E-Mail address ${email} is invalid`, { cause: 'EMAIL_INVALID' });
182
+ }
183
+ }
184
+ if (password) {
185
+ if (!(await userSettings.validatePassword(password))) {
186
+ throw new Error(`Provided password is invalid`, { cause: 'PASSWORD_INVALID' });
187
+ }
188
+ services.password = await this.hashPassword(password);
189
+ }
190
+ if (webAuthnService) {
191
+ services.webAuthn = [webAuthnService];
192
+ }
193
+ const doc = {
194
+ ...normalizedUserData,
195
+ _id: normalizedUserData._id || generateDbObjectId(),
196
+ roles: roles || [],
197
+ initialPassword: Boolean(initialPassword),
198
+ emails: email ? [{ address: email, verified: false }] : [],
199
+ created: new Date(),
200
+ };
201
+ if (username) {
202
+ if (!(await userSettings.validateUsername(username))) {
203
+ throw new Error(`Username ${username} is invalid`, { cause: 'USERNAME_INVALID' });
204
+ }
205
+ doc.username = username;
206
+ }
207
+ const { insertedId: userId } = await Users.insertOne(doc);
208
+ try {
209
+ const autoMessagingEnabled = skipMessaging
210
+ ? false
211
+ : userSettings.autoMessagingAfterUserCreation && !!email && !!userId;
212
+ if (autoMessagingEnabled) {
213
+ if (password === undefined) {
214
+ if (!skipPasswordEnrollment && !webAuthnService) {
215
+ await this.sendResetPasswordEmail(userId, email, true);
216
+ }
217
+ }
218
+ else {
219
+ await this.sendVerificationEmail(userId, email);
220
+ }
221
+ }
222
+ }
223
+ catch {
224
+ /* */
225
+ }
226
+ const user = await Users.findOne({ _id: userId }, {});
227
+ await emit('USER_CREATE', {
228
+ user: removeConfidentialServiceHashes(user),
229
+ });
230
+ return userId;
231
+ },
232
+ async hashPassword(password) {
233
+ const salt = pbkdf2.generateSalt();
234
+ const hashedPassword = await pbkdf2.getDerivedKey(salt, password);
235
+ return { pbkdf2: `${salt}:${hashedPassword}` };
236
+ },
237
+ async verifyPassword({ bcrypt: bcryptHash, pbkdf2: pbkdf2SaltAndHash }, plainPassword) {
238
+ if (bcryptHash) {
239
+ const password = await sha256.hash(plainPassword);
240
+ return bcrypt.compare(password, bcryptHash);
241
+ }
242
+ if (pbkdf2SaltAndHash) {
243
+ const [pbkdf2Salt, pbkdf2Hash] = pbkdf2SaltAndHash.split(':');
244
+ return pbkdf2.compare(plainPassword, pbkdf2Hash, pbkdf2Salt);
245
+ }
246
+ return false;
247
+ },
248
+ async addEmail(userId, address) {
249
+ if (!(await userSettings.validateEmail(address))) {
250
+ throw new Error(`E-Mail address ${address} is invalid`, { cause: 'EMAIL_INVALID' });
251
+ }
252
+ await this.updateUser({ _id: userId, 'emails.address': { $not: { $regex: address, $options: 'i' } } }, {
253
+ $push: {
254
+ emails: {
255
+ address: address.trim(),
256
+ verified: false,
257
+ },
258
+ },
259
+ });
260
+ },
261
+ async removeEmail(userId, address) {
262
+ await this.updateUser({ _id: userId, 'emails.address': { $regex: address, $options: 'i' } }, {
263
+ $pull: {
264
+ emails: { address: { $regex: address, $options: 'i' } },
265
+ },
266
+ });
267
+ },
268
+ async sendResetPasswordEmail(userId, email, isEnrollment) {
269
+ const plainToken = crypto.randomUUID();
270
+ const resetToken = {
271
+ token: await sha256.hash(plainToken),
272
+ address: email,
273
+ when: new Date().getTime() + 1000 * 60 * 60, // 1 hour
274
+ };
275
+ await Users.updateOne({ _id: userId }, {
276
+ $push: {
277
+ 'services.password.reset': resetToken,
278
+ },
279
+ });
280
+ await emit('USER_ACCOUNT_ACTION', {
281
+ action: isEnrollment ? 'enroll-account' : 'reset-password',
282
+ userId,
283
+ ...resetToken,
284
+ token: plainToken,
285
+ });
286
+ },
287
+ async sendVerificationEmail(userId, email) {
288
+ const plainToken = crypto.randomUUID();
289
+ const verificationToken = {
290
+ token: await sha256.hash(plainToken),
291
+ address: email,
292
+ when: new Date().getTime() + 1000 * 60 * 60, // 1 hour
293
+ };
294
+ await Users.updateOne({ _id: userId }, {
295
+ $push: {
296
+ 'services.email.verificationTokens': verificationToken,
297
+ },
298
+ });
299
+ await emit('USER_ACCOUNT_ACTION', {
300
+ action: 'verify-email',
301
+ userId,
302
+ ...verificationToken,
303
+ token: plainToken,
304
+ });
305
+ },
306
+ addRoles: async (userId, roles) => {
307
+ const selector = generateDbFilterById(userId);
308
+ const updateResult = await Users.updateOne(selector, {
309
+ $addToSet: { roles: { $each: roles } },
310
+ });
311
+ const user = await Users.findOne(selector, {});
312
+ await emit('USER_ADD_ROLES', {
313
+ user: removeConfidentialServiceHashes(user),
314
+ });
315
+ return updateResult.modifiedCount;
316
+ },
317
+ async setUsername(userId, username) {
318
+ if (!(await userSettings.validateUsername(username))) {
319
+ throw new Error(`Username ${username} is invalid`, { cause: 'USERNAME_INVALID' });
320
+ }
321
+ await Users.updateOne({ _id: userId }, {
322
+ $set: {
323
+ username: username.trim(),
324
+ },
325
+ });
326
+ const user = await Users.findOne({ _id: userId }, {});
327
+ await emit('USER_UPDATE_USERNAME', {
328
+ user: removeConfidentialServiceHashes(user),
329
+ });
330
+ },
331
+ async setPassword(userId, plainPassword) {
332
+ if (!(await userSettings.validatePassword(plainPassword))) {
333
+ throw new Error(`Password ***** is invalid`, { cause: 'PASSWORD_INVALID' });
334
+ }
335
+ const password = plainPassword || crypto.randomUUID().split('-').pop();
336
+ await Users.updateOne({ _id: userId }, {
337
+ $set: {
338
+ initialPassword: false,
339
+ 'services.password': await this.hashPassword(password || crypto.randomUUID().split('-').pop()),
340
+ },
341
+ });
342
+ const user = await Users.findOne({ _id: userId }, {});
343
+ await emit('USER_UPDATE_PASSWORD', {
344
+ user: removeConfidentialServiceHashes(user),
345
+ });
115
346
  },
116
347
  updateAvatar: async (_id, fileId) => {
117
348
  const userFilter = generateDbFilterById(_id);
118
- log('Update Avatar', { userId: _id });
119
349
  const modifier = {
120
350
  $set: {
121
351
  avatarId: fileId,
@@ -131,9 +361,14 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
131
361
  return user;
132
362
  },
133
363
  updateGuest: async (user, guest) => {
134
- log('Update guest', { userId: user._id });
135
364
  const modifier = { $set: { guest } };
136
365
  await Users.updateOne(generateDbFilterById(user._id), modifier);
366
+ await emit('USER_UPDATE_GUEST', {
367
+ user: removeConfidentialServiceHashes({
368
+ ...user,
369
+ guest,
370
+ }),
371
+ });
137
372
  },
138
373
  updateHeartbeat: async (userId, lastLogin) => {
139
374
  const modifier = {
@@ -152,14 +387,6 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
152
387
  });
153
388
  return user;
154
389
  },
155
- updateInitialPassword: async (user, initialPassword) => {
156
- log(`Update initial password flag to ${initialPassword}`, {
157
- userId: user._id,
158
- level: LogLevel.Verbose,
159
- });
160
- const modifier = { $set: { initialPassword } };
161
- await Users.updateOne(generateDbFilterById(user._id), modifier);
162
- },
163
390
  delete: async (userId) => {
164
391
  const userFilter = generateDbFilterById(userId);
165
392
  const existingUser = await Users.findOne(userFilter, {
@@ -167,17 +394,18 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
167
394
  });
168
395
  if (!existingUser)
169
396
  return null;
397
+ const uuid = crypto.randomUUID();
170
398
  const obfuscatedEmails = existingUser.emails?.flatMap(({ address, verified }) => {
171
399
  if (!verified)
172
400
  return [];
173
401
  return [
174
402
  {
175
- address: `${address}@${uuidv4()}.unchained.local`,
403
+ address: `${address}@${uuid}.unchained.local`,
176
404
  verified: true,
177
405
  },
178
406
  ];
179
407
  });
180
- const obfuscatedUsername = existingUser.username ? `${existingUser.username}-${uuidv4()}` : null;
408
+ const obfuscatedUsername = existingUser.username ? `${existingUser.username}-${uuid}` : null;
181
409
  Users.updateOne(userFilter, {
182
410
  $set: {
183
411
  emails: obfuscatedEmails,
@@ -299,9 +527,9 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
299
527
  });
300
528
  return user;
301
529
  },
302
- updateUser: async (query, modifier, options) => {
303
- const user = await Users.findOneAndUpdate(query, modifier, {
304
- ...options,
530
+ updateUser: async (selector, modifier, updateOptions) => {
531
+ const user = await Users.findOneAndUpdate(selector, modifier, {
532
+ ...updateOptions,
305
533
  returnDocument: 'after',
306
534
  });
307
535
  await emit('USER_UPDATE', {
@@ -309,16 +537,16 @@ export const configureUsersModule = async ({ db, migrationRepository, }) => {
309
537
  });
310
538
  return user;
311
539
  },
312
- addPushSubscription: async (userId, subscription, { userAgent, unsubscribeFromOtherUsers }) => {
540
+ addPushSubscription: async (userId, subscription, subscriptionOptions) => {
313
541
  const updateResult = await Users.updateOne({ _id: userId, 'pushSubscriptions.keys.p256dh': { $ne: subscription?.keys?.p256dh } }, {
314
542
  $push: {
315
543
  pushSubscriptions: {
316
- userAgent,
544
+ userAgent: subscriptionOptions?.userAgent,
317
545
  ...subscription,
318
546
  },
319
547
  },
320
548
  }, {});
321
- if (updateResult.modifiedCount === 1 && unsubscribeFromOtherUsers) {
549
+ if (updateResult.modifiedCount === 1 && subscriptionOptions?.unsubscribeFromOtherUsers) {
322
550
  await Users.updateMany({ _id: { $ne: userId }, 'pushSubscriptions.keys.p256dh': subscription?.keys?.p256dh }, {
323
551
  $pull: {
324
552
  pushSubscriptions: { 'keys.p256dh': subscription?.keys?.p256dh },
@@ -1 +1 @@
1
- {"version":3,"file":"configureUsersModule.js","sourceRoot":"","sources":["../../src/module/configureUsersModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configureUsersModule.js","sourceRoot":"","sources":["../../src/module/configureUsersModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ModuleInput } from '@unchainedshop/core';
2
+ export interface UsersWebAuthnModule {
3
+ findMDSMetadataForAAGUID: (aaguid: string) => Promise<any>;
4
+ createCredentialCreationOptions: (origin: string, username: string, extensionOptions?: any) => Promise<any>;
5
+ verifyCredentialCreation: (username: string, credentials: any) => Promise<any>;
6
+ createCredentialRequestOptions: (origin: string, username?: string, extensionOptions?: any) => Promise<any>;
7
+ verifyCredentialRequest: (userPublicKeys: any[], username: string, credentials: any) => Promise<any>;
8
+ }
9
+ export declare function toArrayBuffer(buffer: any): any;
10
+ export declare function buf2hex(buffer: any): any;
11
+ export declare const configureUsersWebAuthnModule: ({ db, }: ModuleInput<any>) => Promise<UsersWebAuthnModule>;
12
+ //# sourceMappingURL=configureUsersWebAuthnModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureUsersWebAuthnModule.d.ts","sourceRoot":"","sources":["../../src/module/configureUsersWebAuthnModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlD,MAAM,WAAW,mBAAmB;IAClC,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D,+BAA+B,EAAE,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,GAAG,KACnB,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/E,8BAA8B,EAAE,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,GAAG,KACnB,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,uBAAuB,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtG;AA+BD,wBAAgB,aAAa,CAAC,MAAM,KAAA,OAEnC;AAED,wBAAgB,OAAO,CAAC,MAAM,KAAA,OAK7B;AAED,eAAO,MAAM,4BAA4B,YAEtC,WAAW,CAAC,GAAG,CAAC,KAAG,OAAO,CAAC,mBAAmB,CAsJhD,CAAC"}