@checkfirst/nestjs-outlook 7.2.0 → 7.2.1

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.
@@ -18,6 +18,7 @@ const common_1 = require("@nestjs/common");
18
18
  const swagger_1 = require("@nestjs/swagger");
19
19
  const microsoft_auth_service_1 = require("../services/auth/microsoft-auth.service");
20
20
  const mailbox_inactive_error_1 = require("../errors/mailbox-inactive.error");
21
+ const csrf_validation_error_1 = require("../errors/csrf-validation.error");
21
22
  let MicrosoftAuthController = MicrosoftAuthController_1 = class MicrosoftAuthController {
22
23
  constructor(microsoftAuthService) {
23
24
  this.microsoftAuthService = microsoftAuthService;
@@ -44,6 +45,24 @@ let MicrosoftAuthController = MicrosoftAuthController_1 = class MicrosoftAuthCon
44
45
  }
45
46
  catch (error) {
46
47
  this.logger.error('Error handling OAuth callback:', error);
48
+ if (error instanceof csrf_validation_error_1.CsrfValidationError) {
49
+ return res.status(common_1.HttpStatus.OK).send(`
50
+ <h1>Authorization Link Expired</h1>
51
+ <p>This authorization link is no longer valid. This can happen if:</p>
52
+ <ul>
53
+ <li>The link was opened after it expired</li>
54
+ <li>The page was refreshed after authorization completed</li>
55
+ <li>The browser back button was used after completing authorization</li>
56
+ </ul>
57
+ <p>Please go back to the application and start the calendar connection again.</p>
58
+ <p>You can close this tab now.</p>
59
+ <script>
60
+ if (window.opener) {
61
+ window.opener.postMessage({ type: 'microsoft-auth-failed', error: 'Authorization link expired or already used. Please try connecting your calendar again.' }, '*');
62
+ }
63
+ </script>
64
+ `);
65
+ }
47
66
  if (error instanceof mailbox_inactive_error_1.MailboxInactiveError) {
48
67
  return res.status(common_1.HttpStatus.OK).send(`
49
68
  <h1>Calendar Connection Failed</h1>
@@ -1 +1 @@
1
- {"version":3,"file":"microsoft-auth.controller.js","sourceRoot":"","sources":["../../src/controllers/microsoft-auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAiF;AAEjF,6CAA4F;AAC5F,oFAA+E;AAC/E,6EAAwE;AAIjE,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAGlC,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAFtD,WAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAEO,CAAC;IA4DrE,AAAN,KAAK,CAAC,mBAAmB,CACR,IAAY,EACX,KAAa,EACtB,GAAa;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAChF,CAAC;YAGD,MAAM,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAGlE,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;;;;;;;;;;OAUrC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAE3D,IAAI,KAAK,YAAY,6CAAoB,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;SAgBrC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,GAAG;iBACP,MAAM,CAAC,mBAAU,CAAC,qBAAqB,CAAC;iBACxC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF,CAAA;AArHY,0DAAuB;AA+D5B;IAvCL,IAAA,YAAG,EAAC,UAAU,CAAC;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EACT,2QAA2Q;KAC9Q,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;QAChD,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,+CAA+C;KACzD,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,yCAAyC;KACnD,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,OAAO,EACL,+FAA+F;aAClG;SACF;KACF,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACD,IAAA,qBAAW,EAAC,WAAW,CAAC;IAEtB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;kEAkDP;kCApHU,uBAAuB;IAFnC,IAAA,iBAAO,EAAC,gBAAgB,CAAC;IACzB,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAIwB,6CAAoB;GAH5D,uBAAuB,CAqHnC"}
1
+ {"version":3,"file":"microsoft-auth.controller.js","sourceRoot":"","sources":["../../src/controllers/microsoft-auth.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class CsrfValidationError extends Error {
2
+ readonly reason: string;
3
+ constructor(reason: string);
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CsrfValidationError = void 0;
4
+ class CsrfValidationError extends Error {
5
+ constructor(reason) {
6
+ super(`CSRF validation failed: ${reason}`);
7
+ this.reason = reason;
8
+ this.name = 'CsrfValidationError';
9
+ }
10
+ }
11
+ exports.CsrfValidationError = CsrfValidationError;
12
+ //# sourceMappingURL=csrf-validation.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csrf-validation.error.js","sourceRoot":"","sources":["../../src/errors/csrf-validation.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAoB,SAAQ,KAAK;IAC5C,YAA4B,MAAc;QACxC,KAAK,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;QADjB,WAAM,GAAN,MAAM,CAAQ;QAExC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC"}
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './enums/event-types.enum';
14
14
  export * from './enums/show-as-type.enum';
15
15
  export * from './constants';
16
16
  export * from './errors/mailbox-inactive.error';
17
+ export * from './errors/csrf-validation.error';
17
18
  export * from './controllers/calendar.controller';
18
19
  export * from './controllers/microsoft-auth.controller';
19
20
  export * from './controllers/email.controller';
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ __exportStar(require("./enums/event-types.enum"), exports);
30
30
  __exportStar(require("./enums/show-as-type.enum"), exports);
31
31
  __exportStar(require("./constants"), exports);
32
32
  __exportStar(require("./errors/mailbox-inactive.error"), exports);
33
+ __exportStar(require("./errors/csrf-validation.error"), exports);
33
34
  __exportStar(require("./controllers/calendar.controller"), exports);
34
35
  __exportStar(require("./controllers/microsoft-auth.controller"), exports);
35
36
  __exportStar(require("./controllers/email.controller"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,yEAAuD;AACvD,uEAAqD;AACrD,yEAAuD;AACvD,iEAA+C;AAC/C,8EAA4D;AAC5D,yFAAuE;AACvE,+EAA6D;AAG7D,6DAA2C;AAG3C,gFAA8D;AAC9D,+EAA6D;AAC7D,qEAAmD;AAGnD,gEAA8C;AAC9C,2DAAyC;AACzC,4DAA0C;AAG1C,8CAA4B;AAG5B,kEAAgD;AAGhD,oEAAkD;AAClD,0EAAwD;AACxD,iEAA+C;AAG/C,yEAAuD;AAGvD,iFAA+D;AAC/D,mEAAiD;AAGjD,yFAAuE;AAGvE,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,yEAAuD;AACvD,uEAAqD;AACrD,yEAAuD;AACvD,iEAA+C;AAC/C,8EAA4D;AAC5D,yFAAuE;AACvE,+EAA6D;AAG7D,6DAA2C;AAG3C,gFAA8D;AAC9D,+EAA6D;AAC7D,qEAAmD;AAGnD,gEAA8C;AAC9C,2DAAyC;AACzC,4DAA0C;AAG1C,8CAA4B;AAG5B,kEAAgD;AAChD,iEAA+C;AAG/C,oEAAkD;AAClD,0EAAwD;AACxD,iEAA+C;AAG/C,yEAAuD;AAGvD,iFAA+D;AAC/D,mEAAiD;AAGjD,yFAAuE;AAGvE,0CAAwB"}