@ambushsoftworks/nestjs-auth-graphql 0.18.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/README.md +273 -5
  3. package/dist/auth.module.d.ts +10 -2
  4. package/dist/auth.module.d.ts.map +1 -1
  5. package/dist/auth.module.js +71 -3
  6. package/dist/auth.module.js.map +1 -1
  7. package/dist/constants.d.ts +1 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +2 -1
  10. package/dist/constants.js.map +1 -1
  11. package/dist/decorators/allow-guest-session.decorator.d.ts +3 -0
  12. package/dist/decorators/allow-guest-session.decorator.d.ts.map +1 -0
  13. package/dist/decorators/allow-guest-session.decorator.js +8 -0
  14. package/dist/decorators/allow-guest-session.decorator.js.map +1 -0
  15. package/dist/decorators/current-guest.decorator.d.ts +2 -0
  16. package/dist/decorators/current-guest.decorator.d.ts.map +1 -0
  17. package/dist/decorators/current-guest.decorator.js +7 -0
  18. package/dist/decorators/current-guest.decorator.js.map +1 -0
  19. package/dist/exceptions/guest-session.exceptions.d.ts +9 -0
  20. package/dist/exceptions/guest-session.exceptions.d.ts.map +1 -0
  21. package/dist/exceptions/guest-session.exceptions.js +20 -0
  22. package/dist/exceptions/guest-session.exceptions.js.map +1 -0
  23. package/dist/exceptions/signup-disabled.exception.d.ts +5 -0
  24. package/dist/exceptions/signup-disabled.exception.d.ts.map +1 -0
  25. package/dist/exceptions/signup-disabled.exception.js +11 -0
  26. package/dist/exceptions/signup-disabled.exception.js.map +1 -0
  27. package/dist/guards/create-auth-guard.d.ts.map +1 -1
  28. package/dist/guards/create-auth-guard.js +29 -1
  29. package/dist/guards/create-auth-guard.js.map +1 -1
  30. package/dist/guards/guest-session.guard.d.ts +14 -0
  31. package/dist/guards/guest-session.guard.d.ts.map +1 -0
  32. package/dist/guards/guest-session.guard.js +63 -0
  33. package/dist/guards/guest-session.guard.js.map +1 -0
  34. package/dist/index.d.ts +9 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +9 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/interfaces/auth-logger.interface.d.ts +6 -1
  39. package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
  40. package/dist/interfaces/auth-logger.interface.js +5 -0
  41. package/dist/interfaces/auth-logger.interface.js.map +1 -1
  42. package/dist/interfaces/guest-session-repository.interface.d.ts +37 -0
  43. package/dist/interfaces/guest-session-repository.interface.d.ts.map +1 -0
  44. package/dist/interfaces/guest-session-repository.interface.js +3 -0
  45. package/dist/interfaces/guest-session-repository.interface.js.map +1 -0
  46. package/dist/interfaces/index.d.ts +1 -0
  47. package/dist/interfaces/index.d.ts.map +1 -1
  48. package/dist/interfaces/index.js +1 -0
  49. package/dist/interfaces/index.js.map +1 -1
  50. package/dist/interfaces/user-repository.interface.d.ts +29 -27
  51. package/dist/interfaces/user-repository.interface.d.ts.map +1 -1
  52. package/dist/repositories/in-memory-guest-session.repository.d.ts +18 -0
  53. package/dist/repositories/in-memory-guest-session.repository.d.ts.map +1 -0
  54. package/dist/repositories/in-memory-guest-session.repository.js +83 -0
  55. package/dist/repositories/in-memory-guest-session.repository.js.map +1 -0
  56. package/dist/services/auth.service.d.ts +8 -0
  57. package/dist/services/auth.service.d.ts.map +1 -1
  58. package/dist/services/auth.service.js +31 -4
  59. package/dist/services/auth.service.js.map +1 -1
  60. package/dist/services/biometric-auth.service.d.ts.map +1 -1
  61. package/dist/services/biometric-auth.service.js +1 -1
  62. package/dist/services/biometric-auth.service.js.map +1 -1
  63. package/dist/services/guest-session.service.d.ts +80 -0
  64. package/dist/services/guest-session.service.d.ts.map +1 -0
  65. package/dist/services/guest-session.service.js +293 -0
  66. package/dist/services/guest-session.service.js.map +1 -0
  67. package/dist/services/passkey.service.d.ts.map +1 -1
  68. package/dist/services/passkey.service.js +7 -2
  69. package/dist/services/passkey.service.js.map +1 -1
  70. package/dist/services/password-hash.service.d.ts +7 -0
  71. package/dist/services/password-hash.service.d.ts.map +1 -0
  72. package/dist/services/password-hash.service.js +33 -0
  73. package/dist/services/password-hash.service.js.map +1 -0
  74. package/dist/testing/guest-session-repository.contract.d.ts +18 -0
  75. package/dist/testing/guest-session-repository.contract.d.ts.map +1 -0
  76. package/dist/testing/guest-session-repository.contract.js +368 -0
  77. package/dist/testing/guest-session-repository.contract.js.map +1 -0
  78. package/dist/testing/index.d.ts +1 -0
  79. package/dist/testing/index.d.ts.map +1 -1
  80. package/dist/testing/index.js +4 -1
  81. package/dist/testing/index.js.map +1 -1
  82. package/dist/utils/password-hash.d.ts +3 -0
  83. package/dist/utils/password-hash.d.ts.map +1 -0
  84. package/dist/utils/password-hash.js +43 -0
  85. package/dist/utils/password-hash.js.map +1 -0
  86. package/examples/guest-sessions/prisma-guest-session.repository.ts +86 -0
  87. package/examples/guest-sessions/schema.prisma +33 -0
  88. package/package.json +1 -1
@@ -12,6 +12,7 @@ exports.validateAuthModuleOptions = validateAuthModuleOptions;
12
12
  exports.describeIgnoredFeatureFlags = describeIgnoredFeatureFlags;
13
13
  exports.describeIgnoredOptions = describeIgnoredOptions;
14
14
  exports.describeInMemoryDefaults = describeInMemoryDefaults;
15
+ exports.validateUserRepositoryMethods = validateUserRepositoryMethods;
15
16
  const common_1 = require("@nestjs/common");
16
17
  const realm_middleware_1 = require("./middleware/realm.middleware");
17
18
  const jwt_1 = require("@nestjs/jwt");
@@ -31,6 +32,8 @@ const step_up_service_1 = require("./services/step-up.service");
31
32
  const step_up_token_service_1 = require("./services/step-up-token.service");
32
33
  const passkey_signup_token_service_1 = require("./services/passkey-signup-token.service");
33
34
  const email_challenge_service_1 = require("./services/email-challenge.service");
35
+ const guest_session_service_1 = require("./services/guest-session.service");
36
+ const password_hash_service_1 = require("./services/password-hash.service");
34
37
  const webauthn_adapter_1 = require("./passkey/webauthn-adapter");
35
38
  const oauth_linking_token_service_1 = require("./services/oauth-linking-token.service");
36
39
  const jwt_strategy_1 = require("./strategies/jwt.strategy");
@@ -64,6 +67,7 @@ function validateAuthModuleOptions(opts) {
64
67
  validatePasskeyOptions(opts);
65
68
  validateStepUpOptions(opts);
66
69
  validateEmailChallengeOptions(opts);
70
+ validateGuestSessionOptions(opts);
67
71
  validateRealmOptions(opts);
68
72
  validateRefreshRetryOptions(opts);
69
73
  validateCsrfOptions(opts);
@@ -89,7 +93,7 @@ function validateAuthModuleOptions(opts) {
89
93
  }
90
94
  }
91
95
  }
92
- const READ_FEATURE_FLAGS = ['cookieAuth', 'preventEnumerationOnSignup', 'verificationMode'];
96
+ const READ_FEATURE_FLAGS = ['cookieAuth', 'preventEnumerationOnSignup', 'verificationMode', 'signup'];
93
97
  const REMOVED_FEATURE_FLAGS = {
94
98
  emailVerification: {
95
99
  controlledBy: 'Email verification is delivered by `email` or `emailServiceInstance` and stored by `verificationRepositoryInstance`',
@@ -166,6 +170,11 @@ function describeIgnoredOptions(opts) {
166
170
  '`emailChallengeRepositoryInstance`, which is not set. Remove emailChallenge, or set ' +
167
171
  'emailChallengeRepositoryInstance.');
168
172
  }
173
+ if (opts.guestSession !== undefined && !opts.guestSessionRepositoryInstance) {
174
+ messages.push('[AuthModule] guestSession is ignored: guest sessions are enabled by ' +
175
+ '`guestSessionRepositoryInstance`, which is not set. Remove guestSession, or set ' +
176
+ 'guestSessionRepositoryInstance.');
177
+ }
169
178
  if (opts.refreshRetryCacheInstance && opts.refreshGracePeriodSeconds === 0) {
170
179
  messages.push('[AuthModule] refreshRetryCacheInstance is ignored: refreshGracePeriodSeconds is 0, ' +
171
180
  'which turns refresh retries off. Remove one of the two.');
@@ -392,6 +401,51 @@ function validateEmailChallengeOptions(opts) {
392
401
  }
393
402
  }
394
403
  }
404
+ function validateGuestSessionOptions(opts) {
405
+ if (!opts.guestSessionRepositoryInstance) {
406
+ return;
407
+ }
408
+ for (const [setting, maximum] of [
409
+ ['maxGrantsPerSession', 100],
410
+ ['maxLifetimeDays', 365],
411
+ ]) {
412
+ const value = opts.guestSession?.[setting];
413
+ if (value !== undefined &&
414
+ (typeof value !== 'number' || !Number.isInteger(value) || value < 1 || value > maximum)) {
415
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException(`[AuthModule] guestSession.${setting} must be an integer from 1 to ${maximum}; ` +
416
+ `received ${String(value)}.`);
417
+ }
418
+ }
419
+ }
420
+ function validateUserRepositoryMethods(opts) {
421
+ const repository = opts.userRepositoryInstance;
422
+ if (!repository) {
423
+ return;
424
+ }
425
+ const has = (method) => typeof repository[method] === 'function';
426
+ const needs = [
427
+ ['findByEmail', 'every sign-in looks the user up by email', true],
428
+ ['findById', 'every authenticated request loads the user by id', true],
429
+ [
430
+ 'findByOAuthProvider',
431
+ 'oauth.google or oauth.facebook is configured, and social sign-in looks the user up by provider id. ' +
432
+ 'Remove the oauth block if you do not use social sign-in',
433
+ opts.oauth?.google !== undefined || opts.oauth?.facebook !== undefined,
434
+ ],
435
+ [
436
+ 'findByPhoneNumber',
437
+ 'smsServiceInstance is provided, and phone verification checks whether a number is already in use. ' +
438
+ 'Remove smsServiceInstance if you do not use phone verification',
439
+ opts.smsServiceInstance !== undefined,
440
+ ],
441
+ ];
442
+ const missing = needs.filter(([method, , when]) => when && !has(method));
443
+ if (missing.length > 0) {
444
+ throw new invalid_auth_config_exception_1.InvalidAuthConfigException('[AuthModule] userRepositoryInstance is missing ' +
445
+ missing.map(([method, because]) => `${method}() (${because})`).join('; ') +
446
+ '. Implement what is listed.');
447
+ }
448
+ }
395
449
  function validateVerificationOptions(opts) {
396
450
  if ((opts.features?.verificationMode ?? 'code') !== 'token') {
397
451
  return;
@@ -456,6 +510,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
456
510
  useFactory: async (...args) => {
457
511
  const opts = await options.useFactory(...args);
458
512
  validateAuthModuleOptions(opts);
513
+ validateUserRepositoryMethods(opts);
459
514
  for (const warning of describeIgnoredOptions(opts)) {
460
515
  common_1.Logger.warn(warning, 'AuthModule');
461
516
  }
@@ -568,6 +623,13 @@ let AuthModule = AuthModule_1 = class AuthModule {
568
623
  useFactory: (opts) => opts.emailChallengeRepositoryInstance ?? null,
569
624
  },
570
625
  email_challenge_service_1.EmailChallengeService,
626
+ {
627
+ provide: constants_1.GUEST_SESSION_REPOSITORY,
628
+ inject: [constants_1.AUTH_MODULE_OPTIONS],
629
+ useFactory: (opts) => opts.guestSessionRepositoryInstance ?? null,
630
+ },
631
+ guest_session_service_1.GuestSessionService,
632
+ password_hash_service_1.PasswordHashService,
571
633
  {
572
634
  provide: constants_1.EMAIL_SERVICE,
573
635
  inject: [constants_1.AUTH_MODULE_OPTIONS],
@@ -691,7 +753,9 @@ let AuthModule = AuthModule_1 = class AuthModule {
691
753
  useFactory: (options) => {
692
754
  const clientId = options.oauth?.google?.clientId;
693
755
  if (!clientId) {
694
- common_1.Logger.warn('[AuthModule] Google OAuth not configured (missing oauth.google.clientId) - Google Sign-In disabled, using NoOpGoogleStrategy', 'AuthModule');
756
+ if (options.oauth?.google !== undefined) {
757
+ common_1.Logger.warn('[AuthModule] oauth.google is set but has no clientId - Google Sign-In disabled, using NoOpGoogleStrategy', 'AuthModule');
758
+ }
695
759
  return new noop_google_strategy_1.NoOpGoogleStrategy();
696
760
  }
697
761
  if (!options.encryptionKey) {
@@ -709,7 +773,9 @@ let AuthModule = AuthModule_1 = class AuthModule {
709
773
  const clientId = options.oauth?.facebook?.clientId;
710
774
  const clientSecret = options.oauth?.facebook?.clientSecret;
711
775
  if (!clientId || !clientSecret) {
712
- common_1.Logger.warn('[AuthModule] Facebook OAuth not configured (missing oauth.facebook.clientId or clientSecret) - Facebook Login disabled, using NoOpFacebookStrategy', 'AuthModule');
776
+ if (options.oauth?.facebook !== undefined) {
777
+ common_1.Logger.warn('[AuthModule] oauth.facebook is set but is missing clientId or clientSecret - Facebook Login disabled, using NoOpFacebookStrategy', 'AuthModule');
778
+ }
713
779
  return new noop_facebook_strategy_1.NoOpFacebookStrategy();
714
780
  }
715
781
  if (!options.encryptionKey) {
@@ -752,6 +818,8 @@ let AuthModule = AuthModule_1 = class AuthModule {
752
818
  step_up_token_service_1.StepUpTokenService,
753
819
  passkey_signup_token_service_1.PasskeySignupTokenService,
754
820
  email_challenge_service_1.EmailChallengeService,
821
+ guest_session_service_1.GuestSessionService,
822
+ password_hash_service_1.PasswordHashService,
755
823
  constants_1.AUTH_LOGGER,
756
824
  constants_1.USER_REPOSITORY,
757
825
  constants_1.REFRESH_TOKEN_REPOSITORY,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare const BIOMETRIC_VERIFIERS = "BIOMETRIC_VERIFIERS";
21
21
  export declare const PASSKEY_REPOSITORY = "PASSKEY_REPOSITORY";
22
22
  export declare const WEBAUTHN_ADAPTER = "WEBAUTHN_ADAPTER";
23
23
  export declare const EMAIL_CHALLENGE_REPOSITORY = "EMAIL_CHALLENGE_REPOSITORY";
24
+ export declare const GUEST_SESSION_REPOSITORY = "GUEST_SESSION_REPOSITORY";
24
25
  export declare const SCOPES_KEY = "scopes";
25
26
  export declare const SKIP_TENANT_KEY = "skipTenant";
26
27
  export declare const PUBLIC_ENDPOINT_KEY = "isPublicEndpoint";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAMjD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAMnE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAMzC,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAM3D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAMjE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAM/D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAO3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAOzC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAU3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAMrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAMnD,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAM/E,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAWvD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAOjD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAG7C,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAOnD,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAGvE,eAAO,MAAM,UAAU,WAAW,CAAC;AAGnC,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAGtD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAUlD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAM7D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAMrE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAMjD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAMnE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAMzC,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAM3D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAMjE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAM/D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAO3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAOzC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAU3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAMrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAMnD,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAM/E,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAWvD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAOjD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAG7C,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAOnD,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAMvE,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAGnE,eAAO,MAAM,UAAU,WAAW,CAAC;AAGnC,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAGtD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAUlD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAM7D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAMrE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC"}
package/dist/constants.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.USER_REPOSITORY_PHONE = exports.USER_REPOSITORY_BIOMETRIC = exports.USER_REPOSITORY_OAUTH = exports.RESOURCE_SCOPE_KEY = exports.PUBLIC_ENDPOINT_KEY = exports.SKIP_TENANT_KEY = exports.SCOPES_KEY = exports.EMAIL_CHALLENGE_REPOSITORY = exports.WEBAUTHN_ADAPTER = exports.PASSKEY_REPOSITORY = exports.BIOMETRIC_VERIFIERS = exports.PERMISSIONS_KEY = exports.REALM_EXTRACTOR = exports.TENANT_HEADER_NAME = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
3
+ exports.USER_REPOSITORY_PHONE = exports.USER_REPOSITORY_BIOMETRIC = exports.USER_REPOSITORY_OAUTH = exports.RESOURCE_SCOPE_KEY = exports.PUBLIC_ENDPOINT_KEY = exports.SKIP_TENANT_KEY = exports.SCOPES_KEY = exports.GUEST_SESSION_REPOSITORY = exports.EMAIL_CHALLENGE_REPOSITORY = exports.WEBAUTHN_ADAPTER = exports.PASSKEY_REPOSITORY = exports.BIOMETRIC_VERIFIERS = exports.PERMISSIONS_KEY = exports.REALM_EXTRACTOR = exports.TENANT_HEADER_NAME = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
4
4
  exports.AUTH_MODULE_OPTIONS = 'AUTH_MODULE_OPTIONS';
5
5
  exports.USER_REPOSITORY = 'USER_REPOSITORY';
6
6
  exports.REFRESH_TOKEN_REPOSITORY = 'REFRESH_TOKEN_REPOSITORY';
@@ -24,6 +24,7 @@ exports.BIOMETRIC_VERIFIERS = 'BIOMETRIC_VERIFIERS';
24
24
  exports.PASSKEY_REPOSITORY = 'PASSKEY_REPOSITORY';
25
25
  exports.WEBAUTHN_ADAPTER = 'WEBAUTHN_ADAPTER';
26
26
  exports.EMAIL_CHALLENGE_REPOSITORY = 'EMAIL_CHALLENGE_REPOSITORY';
27
+ exports.GUEST_SESSION_REPOSITORY = 'GUEST_SESSION_REPOSITORY';
27
28
  exports.SCOPES_KEY = 'scopes';
28
29
  exports.SKIP_TENANT_KEY = 'skipTenant';
29
30
  exports.PUBLIC_ENDPOINT_KEY = 'isPublicEndpoint';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAgBa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAMpC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAMtD,QAAA,aAAa,GAAG,eAAe,CAAC;AAMhC,QAAA,WAAW,GAAG,aAAa,CAAC;AAM5B,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAM9C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAMpD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAMlD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAO9C,QAAA,WAAW,GAAG,aAAa,CAAC;AAO5B,QAAA,YAAY,GAAG,cAAc,CAAC;AAU9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAMxC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAMtC,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAMlE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAM1C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAW1C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAOpC,QAAA,eAAe,GAAG,aAAa,CAAC;AAGhC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAG1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAOtC,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAG1D,QAAA,UAAU,GAAG,QAAQ,CAAC;AAGtB,QAAA,eAAe,GAAG,YAAY,CAAC;AAG/B,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAGzC,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAUrC,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAMhD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAMxD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAgBa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAMpC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAMtD,QAAA,aAAa,GAAG,eAAe,CAAC;AAMhC,QAAA,WAAW,GAAG,aAAa,CAAC;AAM5B,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAM9C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAMpD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAMlD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAO9C,QAAA,WAAW,GAAG,aAAa,CAAC;AAO5B,QAAA,YAAY,GAAG,cAAc,CAAC;AAU9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAMxC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAMtC,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAMlE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAM1C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAW1C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAOpC,QAAA,eAAe,GAAG,aAAa,CAAC;AAGhC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAG1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAOtC,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAM1D,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAGtD,QAAA,UAAU,GAAG,QAAQ,CAAC;AAGtB,QAAA,eAAe,GAAG,YAAY,CAAC;AAG/B,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAGzC,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAUrC,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAMhD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAMxD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const ALLOW_GUEST_SESSION_KEY = "allowGuestSession";
2
+ export declare const AllowGuestSession: (...kinds: string[]) => import("@nestjs/common").CustomDecorator<string>;
3
+ //# sourceMappingURL=allow-guest-session.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-guest-session.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/allow-guest-session.decorator.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAyB3D,eAAO,MAAM,iBAAiB,GAAI,GAAG,OAAO,MAAM,EAAE,qDAAgD,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AllowGuestSession = exports.ALLOW_GUEST_SESSION_KEY = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.ALLOW_GUEST_SESSION_KEY = 'allowGuestSession';
6
+ const AllowGuestSession = (...kinds) => (0, common_1.SetMetadata)(exports.ALLOW_GUEST_SESSION_KEY, kinds);
7
+ exports.AllowGuestSession = AllowGuestSession;
8
+ //# sourceMappingURL=allow-guest-session.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow-guest-session.decorator.js","sourceRoot":"","sources":["../../src/decorators/allow-guest-session.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAGhC,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAyBpD,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,IAAA,oBAAW,EAAC,+BAAuB,EAAE,KAAK,CAAC,CAAC;AAAxF,QAAA,iBAAiB,qBAAuE"}
@@ -0,0 +1,2 @@
1
+ export declare const CurrentGuest: (...dataOrPipes: unknown[]) => ParameterDecorator;
2
+ //# sourceMappingURL=current-guest.decorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-guest.decorator.d.ts","sourceRoot":"","sources":["../../src/decorators/current-guest.decorator.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,mDAGxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrentGuest = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const execution_context_1 = require("../utils/execution-context");
6
+ exports.CurrentGuest = (0, common_1.createParamDecorator)((_data, context) => (0, execution_context_1.getRequestFromContext)(context)?.guest);
7
+ //# sourceMappingURL=current-guest.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-guest.decorator.js","sourceRoot":"","sources":["../../src/decorators/current-guest.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AAExE,kEAAmE;AAStD,QAAA,YAAY,GAAG,IAAA,6BAAoB,EAC9C,CAAC,KAAc,EAAE,OAAyB,EAA8B,EAAE,CACxE,IAAA,yCAAqB,EAAC,OAAO,CAAC,EAAE,KAAK,CACxC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { GraphQLError } from 'graphql';
2
+ import { CodedHttpException } from './coded-http.exception';
3
+ export declare class GuestSessionInvalidException extends CodedHttpException {
4
+ constructor();
5
+ }
6
+ export declare class GuestSessionUnavailableException extends GraphQLError {
7
+ constructor();
8
+ }
9
+ //# sourceMappingURL=guest-session.exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session.exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions/guest-session.exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAe5D,qBAAa,4BAA6B,SAAQ,kBAAkB;;CAInE;AAOD,qBAAa,gCAAiC,SAAQ,YAAY;;CAMjE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GuestSessionUnavailableException = exports.GuestSessionInvalidException = void 0;
4
+ const graphql_1 = require("graphql");
5
+ const coded_http_exception_1 = require("./coded-http.exception");
6
+ class GuestSessionInvalidException extends coded_http_exception_1.CodedHttpException {
7
+ constructor() {
8
+ super({ message: 'Guest session is not valid', code: 'GUEST_SESSION_INVALID' }, 401);
9
+ }
10
+ }
11
+ exports.GuestSessionInvalidException = GuestSessionInvalidException;
12
+ class GuestSessionUnavailableException extends graphql_1.GraphQLError {
13
+ constructor() {
14
+ super('Guest sessions are not available', {
15
+ extensions: { code: 'GUEST_SESSION_UNAVAILABLE', statusCode: 503 },
16
+ });
17
+ }
18
+ }
19
+ exports.GuestSessionUnavailableException = GuestSessionUnavailableException;
20
+ //# sourceMappingURL=guest-session.exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session.exceptions.js","sourceRoot":"","sources":["../../src/exceptions/guest-session.exceptions.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iEAA4D;AAe5D,MAAa,4BAA6B,SAAQ,yCAAkB;IAClE;QACE,KAAK,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;IACvF,CAAC;CACF;AAJD,oEAIC;AAOD,MAAa,gCAAiC,SAAQ,sBAAY;IAChE;QACE,KAAK,CAAC,kCAAkC,EAAE;YACxC,UAAU,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,GAAG,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;CACF;AAND,4EAMC"}
@@ -0,0 +1,5 @@
1
+ import { CodedHttpException } from './coded-http.exception';
2
+ export declare class SignupDisabledException extends CodedHttpException {
3
+ constructor();
4
+ }
5
+ //# sourceMappingURL=signup-disabled.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup-disabled.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/signup-disabled.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAe5D,qBAAa,uBAAwB,SAAQ,kBAAkB;;CAI9D"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignupDisabledException = void 0;
4
+ const coded_http_exception_1 = require("./coded-http.exception");
5
+ class SignupDisabledException extends coded_http_exception_1.CodedHttpException {
6
+ constructor() {
7
+ super({ message: 'Sign-up is not available', code: 'SIGNUP_DISABLED' }, 403);
8
+ }
9
+ }
10
+ exports.SignupDisabledException = SignupDisabledException;
11
+ //# sourceMappingURL=signup-disabled.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup-disabled.exception.js","sourceRoot":"","sources":["../../src/exceptions/signup-disabled.exception.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAe5D,MAAa,uBAAwB,SAAQ,yCAAkB;IAC7D;QACE,KAAK,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;CACF;AAJD,0DAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-auth-guard.d.ts","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAO7C,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAK3D,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA8BD,wBAAgB,eAAe,CAC7B,UAAU,GAAE,MAAM,EAAY,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CA4BlD"}
1
+ {"version":3,"file":"create-auth-guard.d.ts","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAK3D,MAAM,WAAW,sBAAsB;IAErC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAoCD,wBAAgB,eAAe,CAC7B,UAAU,GAAE,MAAM,EAAY,EAC9B,OAAO,CAAC,EAAE,sBAAsB,GAC/B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAuDlD"}
@@ -14,7 +14,9 @@ const common_1 = require("@nestjs/common");
14
14
  const core_1 = require("@nestjs/core");
15
15
  const passport_1 = require("@nestjs/passport");
16
16
  const public_decorator_1 = require("../decorators/public.decorator");
17
+ const guest_session_service_1 = require("../services/guest-session.service");
17
18
  const execution_context_1 = require("../utils/execution-context");
19
+ const guest_session_guard_1 = require("./guest-session.guard");
18
20
  function createAuthGuard(strategies = ['jwt'], options) {
19
21
  let ConfigurableAuthGuard = class ConfigurableAuthGuard extends (0, passport_1.AuthGuard)(strategies) {
20
22
  constructor(_reflector) {
@@ -31,12 +33,38 @@ function createAuthGuard(strategies = ['jwt'], options) {
31
33
  return true;
32
34
  }
33
35
  (0, execution_context_1.requireRequestFromContext)(context);
34
- return super.canActivate(context);
36
+ if (!(0, guest_session_guard_1.guestKindsFor)(this._reflector, context)) {
37
+ return super.canActivate(context);
38
+ }
39
+ return this.userThenGuest(context);
40
+ }
41
+ async userThenGuest(context) {
42
+ let userFailure;
43
+ try {
44
+ if (await super.canActivate(context)) {
45
+ return true;
46
+ }
47
+ }
48
+ catch (error) {
49
+ userFailure = error;
50
+ }
51
+ if (await (0, guest_session_guard_1.admitGuest)(context, this._reflector, this._guestSessions)) {
52
+ return true;
53
+ }
54
+ if (userFailure !== undefined) {
55
+ throw userFailure;
56
+ }
57
+ return false;
35
58
  }
36
59
  getRequest(context) {
37
60
  return (0, execution_context_1.getRequestFromContext)(context);
38
61
  }
39
62
  };
63
+ __decorate([
64
+ (0, common_1.Optional)(),
65
+ (0, common_1.Inject)(guest_session_service_1.GuestSessionService),
66
+ __metadata("design:type", guest_session_service_1.GuestSessionService)
67
+ ], ConfigurableAuthGuard.prototype, "_guestSessions", void 0);
40
68
  ConfigurableAuthGuard = __decorate([
41
69
  (0, common_1.Injectable)(),
42
70
  __metadata("design:paramtypes", [core_1.Reflector])
@@ -1 +1 @@
1
- {"version":3,"file":"create-auth-guard.js","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":";;;;;;;;;;;AA+CA,0CA+BC;AA9ED,2CAAoE;AACpE,uCAAyC;AACzC,+CAA6C;AAC7C,qEAA+D;AAC/D,kEAA8F;AA2C9F,SAAgB,eAAe,CAC7B,aAAuB,CAAC,KAAK,CAAC,EAC9B,OAAgC;IAEhC,IACM,qBAAqB,GAD3B,MACM,qBAAsB,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;QACvD,YAA6B,UAAqB;YAChD,KAAK,EAAE,CAAC;YADmB,eAAU,GAAV,UAAU,CAAW;QAElD,CAAC;QAED,WAAW,CAAC,OAAyB;YACnC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAU,gCAAa,EAAE;oBACzE,OAAO,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,QAAQ,EAAE;iBACnB,CAAC,CAAC;gBACH,IAAI,QAAQ;oBAAE,OAAO,IAAI,CAAC;YAC5B,CAAC;YAGD,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;YAEnC,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,UAAU,CAAC,OAAyB;YAClC,OAAO,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KACF,CAAA;IAvBK,qBAAqB;QAD1B,IAAA,mBAAU,GAAE;yCAE8B,gBAAS;OAD9C,qBAAqB,CAuB1B;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"create-auth-guard.js","sourceRoot":"","sources":["../../src/guards/create-auth-guard.ts"],"names":[],"mappings":";;;;;;;;;;;AAuDA,0CA0DC;AAjHD,2CAAsF;AACtF,uCAAyC;AACzC,+CAA6C;AAC7C,qEAA+D;AAC/D,6EAAwE;AACxE,kEAA8F;AAC9F,+DAAkE;AAiDlE,SAAgB,eAAe,CAC7B,aAAuB,CAAC,KAAK,CAAC,EAC9B,OAAgC;IAEhC,IACM,qBAAqB,GAD3B,MACM,qBAAsB,SAAQ,IAAA,oBAAS,EAAC,UAAU,CAAC;QAMvD,YAA6B,UAAqB;YAChD,KAAK,EAAE,CAAC;YADmB,eAAU,GAAV,UAAU,CAAW;QAElD,CAAC;QAED,WAAW,CAAC,OAAyB;YACnC,IAAI,OAAO,EAAE,WAAW,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAU,gCAAa,EAAE;oBACzE,OAAO,CAAC,UAAU,EAAE;oBACpB,OAAO,CAAC,QAAQ,EAAE;iBACnB,CAAC,CAAC;gBACH,IAAI,QAAQ;oBAAE,OAAO,IAAI,CAAC;YAC5B,CAAC;YAGD,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,IAAA,mCAAa,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC7C,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAGO,KAAK,CAAC,aAAa,CAAC,OAAyB;YACnD,IAAI,WAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,IAAI,MAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAsB,EAAE,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,WAAW,GAAG,KAAK,CAAC;YACtB,CAAC;YACD,IAAI,MAAM,IAAA,gCAAU,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC;YACpB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,UAAU,CAAC,OAAyB;YAClC,OAAO,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;QACxC,CAAC;KACF,CAAA;IA9CkB;QAFhB,IAAA,iBAAQ,GAAE;QACV,IAAA,eAAM,EAAC,2CAAmB,CAAC;kCACM,2CAAmB;iEAAC;IAJlD,qBAAqB;QAD1B,IAAA,mBAAU,GAAE;yCAO8B,gBAAS;OAN9C,qBAAqB,CAkD1B;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { CanActivate, ExecutionContext } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { GuestSessionService } from '../services/guest-session.service';
4
+ export declare function guestKindsFor(reflector: Reflector, context: ExecutionContext): string[] | undefined;
5
+ export declare function admitGuest(context: ExecutionContext, reflector: Reflector, guestSessions: GuestSessionService | undefined): Promise<boolean>;
6
+ export declare class GuestSessionGuard implements CanActivate {
7
+ private readonly reflector;
8
+ private readonly guestSessions;
9
+ private readonly logger;
10
+ private warnedUndecorated;
11
+ constructor(reflector: Reflector, guestSessions: GuestSessionService);
12
+ canActivate(context: ExecutionContext): Promise<boolean>;
13
+ }
14
+ //# sourceMappingURL=guest-session.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session.guard.d.ts","sourceRoot":"","sources":["../../src/guards/guest-session.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA6C,MAAM,gBAAgB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAOxE,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,GAAG,SAAS,CAGnG;AAWD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB,GAAG,SAAS,GAC7C,OAAO,CAAC,OAAO,CAAC,CAclB;AAeD,qBACa,iBAAkB,YAAW,WAAW;IAKjD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,iBAAiB,CAAS;gBAGf,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,mBAAmB;IAG/C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAa/D"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var GuestSessionGuard_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.GuestSessionGuard = void 0;
14
+ exports.guestKindsFor = guestKindsFor;
15
+ exports.admitGuest = admitGuest;
16
+ const common_1 = require("@nestjs/common");
17
+ const core_1 = require("@nestjs/core");
18
+ const allow_guest_session_decorator_1 = require("../decorators/allow-guest-session.decorator");
19
+ const guest_session_service_1 = require("../services/guest-session.service");
20
+ const execution_context_1 = require("../utils/execution-context");
21
+ function guestKindsFor(reflector, context) {
22
+ const kinds = reflector.get(allow_guest_session_decorator_1.ALLOW_GUEST_SESSION_KEY, context.getHandler());
23
+ return Array.isArray(kinds) && kinds.length > 0 ? kinds : undefined;
24
+ }
25
+ async function admitGuest(context, reflector, guestSessions) {
26
+ const kinds = guestKindsFor(reflector, context);
27
+ if (!kinds || !guestSessions || (0, execution_context_1.isWebSocketContext)(context)) {
28
+ return false;
29
+ }
30
+ const request = (0, execution_context_1.getRequestFromContext)(context);
31
+ const guest = await guestSessions.authenticate(request, kinds);
32
+ if (!guest || !request) {
33
+ return false;
34
+ }
35
+ request.guest = guest;
36
+ return true;
37
+ }
38
+ let GuestSessionGuard = GuestSessionGuard_1 = class GuestSessionGuard {
39
+ constructor(reflector, guestSessions) {
40
+ this.reflector = reflector;
41
+ this.guestSessions = guestSessions;
42
+ this.logger = new common_1.Logger(GuestSessionGuard_1.name);
43
+ this.warnedUndecorated = false;
44
+ }
45
+ async canActivate(context) {
46
+ if (!guestKindsFor(this.reflector, context) && !this.warnedUndecorated) {
47
+ this.warnedUndecorated = true;
48
+ this.logger.warn(`GuestSessionGuard is on ${context.getClass().name}.${context.getHandler().name}, which has no ` +
49
+ '@AllowGuestSession(kind) on the method, so it refuses every request. Add the decorator to the method.');
50
+ }
51
+ if (await admitGuest(context, this.reflector, this.guestSessions)) {
52
+ return true;
53
+ }
54
+ throw new common_1.UnauthorizedException('Guest session required');
55
+ }
56
+ };
57
+ exports.GuestSessionGuard = GuestSessionGuard;
58
+ exports.GuestSessionGuard = GuestSessionGuard = GuestSessionGuard_1 = __decorate([
59
+ (0, common_1.Injectable)(),
60
+ __metadata("design:paramtypes", [core_1.Reflector,
61
+ guest_session_service_1.GuestSessionService])
62
+ ], GuestSessionGuard);
63
+ //# sourceMappingURL=guest-session.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-session.guard.js","sourceRoot":"","sources":["../../src/guards/guest-session.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAUA,sCAGC;AAWD,gCAkBC;AA1CD,2CAA0G;AAC1G,uCAAyC;AACzC,+FAAsF;AACtF,6EAAwE;AACxE,kEAAuF;AAMvF,SAAgB,aAAa,CAAC,SAAoB,EAAE,OAAyB;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAuB,uDAAuB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjG,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAWM,KAAK,UAAU,UAAU,CAC9B,OAAyB,EACzB,SAAoB,EACpB,aAA8C;IAE9C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAGhD,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,IAAI,IAAA,sCAAkB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAgBM,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAI5B,YACmB,SAAoB,EACpB,aAAkC;QADlC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAqB;QALpC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,sBAAiB,GAAG,KAAK,CAAC;IAK/B,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2BAA2B,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,iBAAiB;gBAC9F,uGAAuG,CAC1G,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,8BAAqB,CAAC,wBAAwB,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AAtBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAMmB,gBAAS;QACL,2CAAmB;GAN1C,iBAAiB,CAsB7B"}