@hed-hog/core 0.0.373 → 0.0.375

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 (109) hide show
  1. package/README.md +954 -873
  2. package/dist/integration-profile/integration-profile.secrets.d.ts.map +1 -1
  3. package/dist/integration-profile/integration-profile.secrets.js +4 -0
  4. package/dist/integration-profile/integration-profile.secrets.js.map +1 -1
  5. package/dist/integration-profile/integration-profile.utils.d.ts +6 -0
  6. package/dist/integration-profile/integration-profile.utils.d.ts.map +1 -1
  7. package/dist/integration-profile/integration-profile.utils.js +1 -1
  8. package/dist/integration-profile/integration-profile.utils.js.map +1 -1
  9. package/dist/oauth/oauth.controller.d.ts +11 -3
  10. package/dist/oauth/oauth.controller.d.ts.map +1 -1
  11. package/dist/oauth/oauth.controller.js +52 -14
  12. package/dist/oauth/oauth.controller.js.map +1 -1
  13. package/dist/oauth/oauth.module.d.ts.map +1 -1
  14. package/dist/oauth/oauth.module.js +4 -0
  15. package/dist/oauth/oauth.module.js.map +1 -1
  16. package/dist/oauth/oauth.service.d.ts +38 -2
  17. package/dist/oauth/oauth.service.d.ts.map +1 -1
  18. package/dist/oauth/oauth.service.js +122 -5
  19. package/dist/oauth/oauth.service.js.map +1 -1
  20. package/dist/oauth/providers/apple.provider.d.ts +34 -0
  21. package/dist/oauth/providers/apple.provider.d.ts.map +1 -0
  22. package/dist/oauth/providers/apple.provider.js +197 -0
  23. package/dist/oauth/providers/apple.provider.js.map +1 -0
  24. package/dist/oauth/providers/facebook.provider.d.ts +1 -1
  25. package/dist/oauth/providers/facebook.provider.d.ts.map +1 -1
  26. package/dist/oauth/providers/facebook.provider.js +3 -2
  27. package/dist/oauth/providers/facebook.provider.js.map +1 -1
  28. package/dist/oauth/providers/google.provider.d.ts +1 -1
  29. package/dist/oauth/providers/google.provider.d.ts.map +1 -1
  30. package/dist/oauth/providers/google.provider.js +3 -2
  31. package/dist/oauth/providers/google.provider.js.map +1 -1
  32. package/dist/oauth/providers/linkedin.provider.d.ts +25 -0
  33. package/dist/oauth/providers/linkedin.provider.d.ts.map +1 -0
  34. package/dist/oauth/providers/linkedin.provider.js +99 -0
  35. package/dist/oauth/providers/linkedin.provider.js.map +1 -0
  36. package/dist/oauth/providers/microsoft-entra-id.provider.js +1 -1
  37. package/dist/oauth/providers/microsoft-entra-id.provider.js.map +1 -1
  38. package/dist/oauth/providers/microsoft.provider.d.ts +1 -1
  39. package/dist/oauth/providers/microsoft.provider.d.ts.map +1 -1
  40. package/dist/oauth/providers/microsoft.provider.js +3 -2
  41. package/dist/oauth/providers/microsoft.provider.js.map +1 -1
  42. package/dist/pdf/pdf.service.d.ts.map +1 -1
  43. package/dist/pdf/pdf.service.js +19 -2
  44. package/dist/pdf/pdf.service.js.map +1 -1
  45. package/dist/setting/setting.service.d.ts.map +1 -1
  46. package/dist/setting/setting.service.js +4 -1
  47. package/dist/setting/setting.service.js.map +1 -1
  48. package/hedhog/data/integration_provider.yaml +16 -0
  49. package/hedhog/data/setting_group.yaml +98 -0
  50. package/hedhog/data/setting_subgroup.yaml +16 -0
  51. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +2 -0
  52. package/hedhog/frontend/app/dashboard/dashboard.css.ejs +11 -11
  53. package/hedhog/frontend/app/integration/profiles/page.tsx.ejs +42 -0
  54. package/hedhog/frontend/app/menu/page.tsx.ejs +1 -1
  55. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +8 -0
  56. package/hedhog/frontend/e2e/core.spec.ts.ejs +28 -0
  57. package/hedhog/frontend/messages/en.json +35 -0
  58. package/hedhog/frontend/messages/pt.json +35 -0
  59. package/hedhog/table/user_account.yaml +1 -0
  60. package/package.json +3 -3
  61. package/src/access-log/access-log.service.spec.ts +235 -0
  62. package/src/ai-instruction/ai-prompt-builder.service.spec.ts +250 -0
  63. package/src/auth/auth.service.spec.ts +891 -0
  64. package/src/auth/guards/auth.guard.spec.ts +177 -0
  65. package/src/challenge/challenge.service.spec.ts +334 -0
  66. package/src/dashboard/dashboard-core/dashboard-core.service.spec.ts +193 -0
  67. package/src/file/image-optimization.service.spec.ts +283 -0
  68. package/src/file/provider/provider.factory.spec.ts +111 -0
  69. package/src/install/install.service.spec.ts +139 -0
  70. package/src/integration/README.md +2 -0
  71. package/src/integration/services/event-subscriber.registry.spec.ts +143 -0
  72. package/src/integration/services/inbox.service.spec.ts +183 -0
  73. package/src/integration/services/integration-link.service.spec.ts +217 -0
  74. package/src/integration/services/outbox.service.spec.ts +290 -0
  75. package/src/integration-profile/integration-credential-crypto.service.spec.ts +289 -0
  76. package/src/integration-profile/integration-profile.secrets.ts +4 -0
  77. package/src/integration-profile/integration-profile.utils.spec.ts +332 -0
  78. package/src/integration-profile/integration-profile.utils.ts +14 -1
  79. package/src/locale/locale.service.spec.ts +78 -0
  80. package/src/mail/mail.service.spec.ts +257 -0
  81. package/src/mcp/guards/mcp-auth.guard.spec.ts +87 -0
  82. package/src/mcp/guards/mcp-permission.guard.spec.ts +64 -0
  83. package/src/mcp/mcp-api-key.service.spec.ts +125 -0
  84. package/src/mcp/mcp-registry.service.spec.ts +96 -0
  85. package/src/mcp/mcp-server.service.spec.ts +187 -0
  86. package/src/menu/menu.service.spec.ts +76 -0
  87. package/src/notification/notification.service.spec.ts +297 -0
  88. package/src/oauth/oauth.controller.ts +53 -10
  89. package/src/oauth/oauth.module.ts +4 -0
  90. package/src/oauth/oauth.service.spec.ts +332 -0
  91. package/src/oauth/oauth.service.ts +156 -1
  92. package/src/oauth/providers/apple.provider.ts +175 -0
  93. package/src/oauth/providers/facebook.provider.ts +3 -2
  94. package/src/oauth/providers/google.provider.ts +3 -2
  95. package/src/oauth/providers/linkedin.provider.ts +96 -0
  96. package/src/oauth/providers/microsoft-entra-id.provider.ts +1 -1
  97. package/src/oauth/providers/microsoft.provider.ts +3 -2
  98. package/src/pdf/pdf.service.ts +20 -2
  99. package/src/role/guards/role.guard.spec.ts +157 -0
  100. package/src/role/role.service.spec.ts +179 -0
  101. package/src/session/session.service.spec.ts +376 -0
  102. package/src/setting/setting.service.spec.ts +316 -0
  103. package/src/setting/setting.service.ts +4 -1
  104. package/src/task/task.service.spec.ts +47 -0
  105. package/src/token/token.service.spec.ts +351 -0
  106. package/src/user/user.service.spec.ts +256 -0
  107. package/src/utils/locale-context.spec.ts +22 -0
  108. package/src/utils/webauthn-origin.spec.ts +73 -0
  109. package/src/webhook-integration/integration-event-catalog.service.spec.ts +149 -0
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.secrets.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAiC5D,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
1
+ {"version":3,"file":"integration-profile.secrets.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAqC5D,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
@@ -37,6 +37,10 @@ exports.INTEGRATION_SECRET_KEYS = {
37
37
  'microsoft-oauth': ['client_secret'],
38
38
  'facebook-oauth': ['client_secret'],
39
39
  'microsoft-entra-id-oauth': ['client_secret'],
40
+ // Apple has no static client_secret — the private_key signs a short-lived JWT
41
+ // client_secret at request time (see AppleProvider), so private_key is the secret.
42
+ 'apple-oauth': ['private_key'],
43
+ 'linkedin-oauth': ['client_secret'],
40
44
  // Pagamento
41
45
  stripe: ['secret_key', 'webhook_secret'],
42
46
  mercado_pago: ['access_token', 'webhook_secret'],
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.secrets.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":";;;AAgDA,wDAEC;AAlDD;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAA6B;IAC/D,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IACzC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IAC1B,aAAa;IACb,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,UAAU;IACV,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACzB,GAAG,EAAE,CAAC,eAAe,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK;IACL,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,QAAQ;IACR,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACpC,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,0BAA0B,EAAE,CAAC,eAAe,CAAC;IAC7C,YAAY;IACZ,MAAM,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAChD,UAAU;IACV,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,+BAA+B;IAC/B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,+DAA+D;AAC/D,SAAgB,sBAAsB,CAAC,YAAoB;;IACzD,OAAO,MAAA,+BAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"integration-profile.secrets.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.secrets.ts"],"names":[],"mappings":";;;AAoDA,wDAEC;AAtDD;;;;;;;;;;;GAWG;AACU,QAAA,uBAAuB,GAA6B;IAC/D,QAAQ;IACR,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,KAAK,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IACzC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IAC1B,aAAa;IACb,eAAe,EAAE,CAAC,OAAO,CAAC;IAC1B,mBAAmB,EAAE,CAAC,cAAc,CAAC;IACrC,UAAU;IACV,EAAE,EAAE,CAAC,mBAAmB,CAAC;IACzB,GAAG,EAAE,CAAC,eAAe,CAAC;IACtB,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,eAAe,EAAE,CAAC,mBAAmB,CAAC;IACtC,KAAK;IACL,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,SAAS,CAAC;IACnB,QAAQ;IACR,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,cAAc,EAAE,CAAC,eAAe,CAAC;IACjC,iBAAiB,EAAE,CAAC,eAAe,CAAC;IACpC,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,0BAA0B,EAAE,CAAC,eAAe,CAAC;IAC7C,8EAA8E;IAC9E,mFAAmF;IACnF,aAAa,EAAE,CAAC,aAAa,CAAC;IAC9B,gBAAgB,EAAE,CAAC,eAAe,CAAC;IACnC,YAAY;IACZ,MAAM,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,YAAY,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAChD,UAAU;IACV,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,sBAAsB,EAAE,CAAC,YAAY,CAAC;IACtC,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,+BAA+B;IAC/B,YAAY,EAAE,CAAC,WAAW,CAAC;IAC3B,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;CACjC,CAAC;AAEF,+DAA+D;AAC/D,SAAgB,sBAAsB,CAAC,YAAoB;;IACzD,OAAO,MAAA,+BAAuB,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,mCAAI,EAAE,CAAC;AACnE,CAAC"}
@@ -21,6 +21,12 @@ export declare function buildOAuthConfigFromIntegration(_providerSlug: string, c
21
21
  clientId: string;
22
22
  clientSecret: string;
23
23
  tenantId?: string;
24
+ /** Apple Developer Team ID (Sign in with Apple). */
25
+ teamId?: string;
26
+ /** Key ID of the .p8 private key registered for Sign in with Apple. */
27
+ keyId?: string;
28
+ /** EC private key (PEM, .p8 contents) used to sign Apple's client_secret JWT. */
29
+ privateKey?: string;
24
30
  };
25
31
  export type DigitalOceanConfig = {
26
32
  apiToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.utils.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,GAAG,CAmCL;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCxB;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAU7E;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMpE;AAMD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,GACd;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAO/D;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,kBAAkB,CAcpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,gBAAgB,CAalB;AAID,sGAAsG;AACtG,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAc3C"}
1
+ {"version":3,"file":"integration-profile.utils.d.ts","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI9D,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,GAAG,CAmCL;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAID;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqCxB;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAU7E;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAMpE;AAMD,2EAA2E;AAC3E,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,GACd;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAUA;AAID,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,sCAAsC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,kBAAkB,CAcpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6FAA6F;AAC7F,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd,gBAAgB,CAalB;AAID,sGAAsG;AACtG,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,GACd;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAc3C"}
@@ -138,7 +138,7 @@ function resolveFileProviderSlug(providerSlug) {
138
138
  function buildOAuthConfigFromIntegration(_providerSlug, config) {
139
139
  var _a, _b, _c;
140
140
  const cfg = (_a = config) !== null && _a !== void 0 ? _a : {};
141
- return Object.assign({ clientId: String((_b = cfg.client_id) !== null && _b !== void 0 ? _b : ''), clientSecret: String((_c = cfg.client_secret) !== null && _c !== void 0 ? _c : '') }, (cfg.tenant_id ? { tenantId: String(cfg.tenant_id) } : {}));
141
+ return Object.assign(Object.assign(Object.assign(Object.assign({ clientId: String((_b = cfg.client_id) !== null && _b !== void 0 ? _b : ''), clientSecret: String((_c = cfg.client_secret) !== null && _c !== void 0 ? _c : '') }, (cfg.tenant_id ? { tenantId: String(cfg.tenant_id) } : {})), (cfg.team_id ? { teamId: String(cfg.team_id) } : {})), (cfg.key_id ? { keyId: String(cfg.key_id) } : {})), (cfg.private_key ? { privateKey: String(cfg.private_key) } : {}));
142
142
  }
143
143
  /** Maps an integration_profile config JSON to the DigitalOcean API credentials/targets. */
144
144
  function buildDigitalOceanConfigFromIntegration(providerSlug, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-profile.utils.js","sourceRoot":"","sources":["../../src/integration-profile/integration-profile.utils.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,20 @@ export declare class OAuthController {
7
7
  constructor(service: OAuthService, settingService: SettingService);
8
8
  private logOAuthRequest;
9
9
  githubCallback(code: string, state: string, res: any): Promise<any>;
10
- login(origin: string, referer: string, host: string, provider: string, res: any): Promise<any>;
10
+ /**
11
+ * Apple mandates `response_mode=form_post` whenever `scope` is requested, so it
12
+ * POSTs `code`/`state` to the single registered "Return URL" instead of a GET
13
+ * redirect. This bounces it back to a GET, mirroring the GitHub callback above,
14
+ * so the rest of the pipeline (hub forwarding, code exchange) stays identical
15
+ * across every provider.
16
+ */
17
+ appleCallback(code: string, state: string, res: any): Promise<any>;
18
+ login(origin: string, referer: string, host: string, provider: string, redirectApp: string, res: any): Promise<any>;
11
19
  mobileAuthUrl(provider: string, redirectUri: string): Promise<{
12
20
  authUrl: string;
13
21
  }>;
14
- register(provider: string, res: any): Promise<any>;
15
- connect(provider: string, res: any): Promise<any>;
22
+ register(provider: string, redirectApp: string, res: any): Promise<any>;
23
+ connect(provider: string, redirectApp: string, res: any): Promise<any>;
16
24
  callbackLogin(locale: string, ipAddress: string, userAgent: string, origin: string, referer: string, host: string, forwardedHost: string, provider: string, code: string, state: string, redirectUri: string, res: any): Promise<{
17
25
  accessToken: string;
18
26
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.controller.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAgB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE9B,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,cAAc;IAEnG,OAAO,CAAC,eAAe;IAkCjB,cAAc,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACtB,GAAG,KAAA;IAUN,KAAK,CACU,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAC5B,GAAG,KAAA;IAcN,aAAa,CACE,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM;;;IAarC,QAAQ,CAAoB,QAAQ,EAAE,MAAM,EAAS,GAAG,KAAA;IAWxD,OAAO,CAAoB,QAAQ,EAAE,MAAM,EAAS,GAAG,KAAA;IAWvD,aAAa,CACP,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACA,aAAa,EAAE,MAAM,EAC/B,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACP,WAAW,EAAE,MAAM,EACb,GAAG,KAAA;;;IA6B3B,gBAAgB,CACV,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,eAAe,CACT,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EAChC,EAAE,EAAE,EAAE;;KAAA,EACK,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,UAAU,CACJ,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACA,GAAG,KAAA;;;CAIlC"}
1
+ {"version":3,"file":"oauth.controller.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,eAAe;IAGd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAgB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAFnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE9B,OAAO,EAAE,YAAY,EAAmB,cAAc,EAAE,cAAc;IAEnG,OAAO,CAAC,eAAe;IAkCjB,cAAc,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACtB,GAAG,KAAA;IAaZ;;;;;;OAMG;IAGG,aAAa,CACH,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACrB,GAAG,KAAA;IAaN,KAAK,CACU,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAeN,aAAa,CACE,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM;;;IAarC,QAAQ,CACO,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAaN,OAAO,CACQ,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAClC,GAAG,KAAA;IAaN,aAAa,CACP,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACA,aAAa,EAAE,MAAM,EAC/B,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACP,WAAW,EAAE,MAAM,EACb,GAAG,KAAA;;;IA+B3B,gBAAgB,CACV,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,eAAe,CACT,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EAChC,EAAE,EAAE,EAAE;;KAAA,EACK,QAAQ,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACC,GAAG,KAAA;;;IAO3B,UAAU,CACJ,MAAM,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACA,SAAS,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACA,GAAG,KAAA;;;CAIlC"}
@@ -35,26 +35,49 @@ let OAuthController = OAuthController_1 = class OAuthController {
35
35
  this.logger.log(`OAuth ${action}: provider=${provider} locale=${locale !== null && locale !== void 0 ? locale : 'n/a'} origin=${origin !== null && origin !== void 0 ? origin : 'n/a'} referer=${referer !== null && referer !== void 0 ? referer : 'n/a'} host=${host !== null && host !== void 0 ? host : 'n/a'} ip=${ipAddress !== null && ipAddress !== void 0 ? ipAddress : 'n/a'} hasCode=${code ? 'yes' : 'no'} codeLength=${(_a = code === null || code === void 0 ? void 0 : code.length) !== null && _a !== void 0 ? _a : 0} userAgent="${summarizedUserAgent}"`);
36
36
  }
37
37
  async githubCallback(code, state, res) {
38
- const type = state || 'login';
38
+ var _a;
39
+ const forward = await this.service.resolveWebForward(state);
40
+ const type = (_a = forward === null || forward === void 0 ? void 0 : forward.flow) !== null && _a !== void 0 ? _a : (state || 'login');
41
+ const { url: frontendURL = '' } = await this.settingService.getSettingValues(['url']);
42
+ const base = (forward === null || forward === void 0 ? void 0 : forward.origin) || frontendURL;
43
+ // Preserve the signed state on web-hub flows so the initiating app's callback
44
+ // can pass it back for origin binding at the code exchange.
45
+ const stateParam = forward ? `&state=${encodeURIComponent(state)}` : '';
46
+ const redirectURL = `${base}/callback/github/${type}?code=${encodeURIComponent(code)}${stateParam}`;
47
+ return res.redirect(redirectURL);
48
+ }
49
+ /**
50
+ * Apple mandates `response_mode=form_post` whenever `scope` is requested, so it
51
+ * POSTs `code`/`state` to the single registered "Return URL" instead of a GET
52
+ * redirect. This bounces it back to a GET, mirroring the GitHub callback above,
53
+ * so the rest of the pipeline (hub forwarding, code exchange) stays identical
54
+ * across every provider.
55
+ */
56
+ async appleCallback(code, state, res) {
57
+ var _a;
58
+ const forward = await this.service.resolveWebForward(state);
59
+ const type = (_a = forward === null || forward === void 0 ? void 0 : forward.flow) !== null && _a !== void 0 ? _a : (state || 'login');
39
60
  const { url: frontendURL = '' } = await this.settingService.getSettingValues(['url']);
40
- const redirectURL = `${frontendURL}/callback/github/${type}?code=${encodeURIComponent(code)}`;
61
+ const base = (forward === null || forward === void 0 ? void 0 : forward.origin) || frontendURL;
62
+ const stateParam = forward ? `&state=${encodeURIComponent(state)}` : '';
63
+ const redirectURL = `${base}/callback/apple/${type}?code=${encodeURIComponent(code)}${stateParam}`;
41
64
  return res.redirect(redirectURL);
42
65
  }
43
- async login(origin, referer, host, provider, res) {
66
+ async login(origin, referer, host, provider, redirectApp, res) {
44
67
  this.logOAuthRequest('login-init', provider, { origin, referer, host });
45
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/login`);
68
+ const url = await this.service.getWebAuthUrl(provider, 'login', redirectApp);
46
69
  return res.redirect(url);
47
70
  }
48
71
  async mobileAuthUrl(provider, redirectUri) {
49
72
  const authUrl = await this.service.getMobileAuthUrl(provider, redirectUri);
50
73
  return { authUrl };
51
74
  }
52
- async register(provider, res) {
53
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/register`);
75
+ async register(provider, redirectApp, res) {
76
+ const url = await this.service.getWebAuthUrl(provider, 'register', redirectApp);
54
77
  return res.redirect(url);
55
78
  }
56
- async connect(provider, res) {
57
- const url = await this.service.getAuthUrl(provider, `/callback/${provider}/connect`);
79
+ async connect(provider, redirectApp, res) {
80
+ const url = await this.service.getWebAuthUrl(provider, 'connect', redirectApp);
58
81
  return res.redirect(url);
59
82
  }
60
83
  async callbackLogin(locale, ipAddress, userAgent, origin, referer, host, forwardedHost, provider, code, state, redirectUri, res) {
@@ -78,6 +101,8 @@ let OAuthController = OAuthController_1 = class OAuthController {
78
101
  type: 'login',
79
102
  redirectUri,
80
103
  includeRefreshTokenInBody: Boolean(redirectUri),
104
+ requestOrigin: origin,
105
+ requestReferer: referer,
81
106
  });
82
107
  }
83
108
  async callbackRegister(locale, ipAddress, userAgent, provider, code, res) {
@@ -101,6 +126,16 @@ __decorate([
101
126
  __metadata("design:paramtypes", [String, String, Object]),
102
127
  __metadata("design:returntype", Promise)
103
128
  ], OAuthController.prototype, "githubCallback", null);
129
+ __decorate([
130
+ (0, api_1.Public)(),
131
+ (0, common_1.Post)('apple/callback'),
132
+ __param(0, (0, common_1.Body)('code')),
133
+ __param(1, (0, common_1.Body)('state')),
134
+ __param(2, (0, common_1.Res)()),
135
+ __metadata("design:type", Function),
136
+ __metadata("design:paramtypes", [String, String, Object]),
137
+ __metadata("design:returntype", Promise)
138
+ ], OAuthController.prototype, "appleCallback", null);
104
139
  __decorate([
105
140
  (0, api_1.Public)(),
106
141
  (0, common_1.Get)(':provider/login'),
@@ -108,9 +143,10 @@ __decorate([
108
143
  __param(1, (0, common_1.Headers)('referer')),
109
144
  __param(2, (0, common_1.Headers)('host')),
110
145
  __param(3, (0, common_1.Param)('provider')),
111
- __param(4, (0, common_1.Res)()),
146
+ __param(4, (0, common_1.Query)('redirectApp')),
147
+ __param(5, (0, common_1.Res)()),
112
148
  __metadata("design:type", Function),
113
- __metadata("design:paramtypes", [String, String, String, String, Object]),
149
+ __metadata("design:paramtypes", [String, String, String, String, String, Object]),
114
150
  __metadata("design:returntype", Promise)
115
151
  ], OAuthController.prototype, "login", null);
116
152
  __decorate([
@@ -126,18 +162,20 @@ __decorate([
126
162
  (0, api_1.Public)(),
127
163
  (0, common_1.Get)(':provider/register'),
128
164
  __param(0, (0, common_1.Param)('provider')),
129
- __param(1, (0, common_1.Res)()),
165
+ __param(1, (0, common_1.Query)('redirectApp')),
166
+ __param(2, (0, common_1.Res)()),
130
167
  __metadata("design:type", Function),
131
- __metadata("design:paramtypes", [String, Object]),
168
+ __metadata("design:paramtypes", [String, String, Object]),
132
169
  __metadata("design:returntype", Promise)
133
170
  ], OAuthController.prototype, "register", null);
134
171
  __decorate([
135
172
  (0, api_1.Public)(),
136
173
  (0, common_1.Get)(':provider/connect'),
137
174
  __param(0, (0, common_1.Param)('provider')),
138
- __param(1, (0, common_1.Res)()),
175
+ __param(1, (0, common_1.Query)('redirectApp')),
176
+ __param(2, (0, common_1.Res)()),
139
177
  __metadata("design:type", Function),
140
- __metadata("design:paramtypes", [String, Object]),
178
+ __metadata("design:paramtypes", [String, String, Object]),
141
179
  __metadata("design:returntype", Promise)
142
180
  ], OAuthController.prototype, "connect", null);
143
181
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../src/oauth/oauth.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.module.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":"AAoBA,qBAyBa,WAAW;CAAG"}
1
+ {"version":3,"file":"oauth.module.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":"AAsBA,qBA2Ba,WAAW;CAAG"}
@@ -21,9 +21,11 @@ const user_module_1 = require("../user/user.module");
21
21
  const oauth_callback_coordinator_service_1 = require("./oauth-callback-coordinator.service");
22
22
  const oauth_controller_1 = require("./oauth.controller");
23
23
  const oauth_service_1 = require("./oauth.service");
24
+ const apple_provider_1 = require("./providers/apple.provider");
24
25
  const facebook_provider_1 = require("./providers/facebook.provider");
25
26
  const github_provider_1 = require("./providers/github.provider");
26
27
  const google_provider_1 = require("./providers/google.provider");
28
+ const linkedin_provider_1 = require("./providers/linkedin.provider");
27
29
  const microsoft_entra_id_provider_1 = require("./providers/microsoft-entra-id.provider");
28
30
  const microsoft_provider_1 = require("./providers/microsoft.provider");
29
31
  let OAuthModule = class OAuthModule {
@@ -52,6 +54,8 @@ exports.OAuthModule = OAuthModule = __decorate([
52
54
  github_provider_1.GithubProvider,
53
55
  microsoft_provider_1.MicrosoftProvider,
54
56
  microsoft_entra_id_provider_1.MicrosoftEntraIdProvider,
57
+ apple_provider_1.AppleProvider,
58
+ linkedin_provider_1.LinkedinProvider,
55
59
  ],
56
60
  exports: [oauth_service_1.OAuthService],
57
61
  })
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.module.js","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAAiE;AACjE,oDAAmD;AACnD,yCAA2C;AAC3C,2CAAoD;AACpD,2CAA8C;AAC9C,qDAAiD;AACjD,qDAAiD;AACjD,qDAAiD;AACjD,iEAA6D;AAC7D,wDAAoD;AACpD,qDAAiD;AACjD,6FAAuF;AACvF,yDAAqD;AACrD,mDAA+C;AAC/C,qEAAiE;AACjE,iEAA6D;AAC7D,iEAA6D;AAC7D,yFAAmF;AACnF,uEAAmE;AA2B5D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAzBvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;YAC7B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,oEAA+B;YAC/B,4BAAY;YACZ,gCAAc;YACd,oCAAgB;YAChB,gCAAc;YACd,sCAAiB;YACjB,sDAAwB;SACzB;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
1
+ {"version":3,"file":"oauth.module.js","sourceRoot":"","sources":["../../src/oauth/oauth.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gDAAiE;AACjE,oDAAmD;AACnD,yCAA2C;AAC3C,2CAAoD;AACpD,2CAA8C;AAC9C,qDAAiD;AACjD,qDAAiD;AACjD,qDAAiD;AACjD,iEAA6D;AAC7D,wDAAoD;AACpD,qDAAiD;AACjD,6FAAuF;AACvF,yDAAqD;AACrD,mDAA+C;AAC/C,+DAA2D;AAC3D,qEAAiE;AACjE,iEAA6D;AAC7D,iEAA6D;AAC7D,qEAAiE;AACjE,yFAAmF;AACnF,uEAAmE;AA6B5D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IA3BvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,yBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qBAAY,CAAC;YAC9B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC;YAChC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;YAC7B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;YAC5B,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC7B;QACD,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,oEAA+B;YAC/B,4BAAY;YACZ,gCAAc;YACd,oCAAgB;YAChB,gCAAc;YACd,sCAAiB;YACjB,sDAAwB;YACxB,8BAAa;YACb,oCAAgB;SACjB;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
@@ -7,9 +7,11 @@ import { SettingService } from '../setting/setting.service';
7
7
  import { TokenService } from '../token/token.service';
8
8
  import { UserService } from '../user/user.service';
9
9
  import { OAuthCallbackCoordinatorService } from './oauth-callback-coordinator.service';
10
+ import { AppleProvider } from './providers/apple.provider';
10
11
  import { FacebookProvider } from './providers/facebook.provider';
11
12
  import { GithubProvider } from './providers/github.provider';
12
13
  import { GoogleProvider } from './providers/google.provider';
14
+ import { LinkedinProvider } from './providers/linkedin.provider';
13
15
  import { MicrosoftEntraIdProvider } from './providers/microsoft-entra-id.provider';
14
16
  import { MicrosoftProvider } from './providers/microsoft.provider';
15
17
  type HandleCallbackProps = {
@@ -25,6 +27,10 @@ type HandleCallbackProps = {
25
27
  redirectUri?: string;
26
28
  state?: string;
27
29
  includeRefreshTokenInBody?: boolean;
30
+ /** Origin header of the request that hit the callback (used to bind web hub flows). */
31
+ requestOrigin?: string;
32
+ /** Referer header, used as a fallback when the Origin header is absent. */
33
+ requestReferer?: string;
28
34
  };
29
35
  export declare class OAuthService {
30
36
  private readonly callbackCoordinator;
@@ -39,10 +45,40 @@ export declare class OAuthService {
39
45
  private readonly logger;
40
46
  private providers;
41
47
  private readonly mobileOAuthStateTtlMs;
42
- constructor(google: GoogleProvider, facebook: FacebookProvider, microsoft: MicrosoftProvider, github: GithubProvider, microsoftEntraId: MicrosoftEntraIdProvider, callbackCoordinator: OAuthCallbackCoordinatorService, auth: AuthService, file: FileService, mail: MailService, security: SecurityService, prisma: PrismaService, token: TokenService, setting: SettingService, user: UserService);
48
+ /** Sentinel app in the web state meaning "the OAuth hub handles this locally". */
49
+ private static readonly WEB_STATE_SELF_APP;
50
+ constructor(google: GoogleProvider, facebook: FacebookProvider, microsoft: MicrosoftProvider, github: GithubProvider, microsoftEntraId: MicrosoftEntraIdProvider, apple: AppleProvider, linkedin: LinkedinProvider, callbackCoordinator: OAuthCallbackCoordinatorService, auth: AuthService, file: FileService, mail: MailService, security: SecurityService, prisma: PrismaService, token: TokenService, setting: SettingService, user: UserService);
43
51
  getAuthUrl(provider: user_account_provider_52222e2ecb_enum, callbackPath: string): Promise<string>;
44
52
  getMobileAuthUrl(provider: user_account_provider_52222e2ecb_enum, redirectUri: string): Promise<string>;
45
- handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, }: HandleCallbackProps): Promise<{
53
+ /**
54
+ * Builds a provider auth URL for a browser (web) flow that may be initiated by an
55
+ * app other than the OAuth hub (the app configured in the `url` setting).
56
+ *
57
+ * When `redirectApp` resolves to a known origin (via the `app-urls` setting), a
58
+ * signed `state` (`hhweb.<app>.<flow>.<sig>`) is attached so the hub can forward
59
+ * the callback back to the initiating app and the backend can bind the code
60
+ * exchange to that origin. Without a resolvable `redirectApp`, the URL is returned
61
+ * unchanged — identical to the legacy hub-only behavior.
62
+ */
63
+ getWebAuthUrl(provider: user_account_provider_52222e2ecb_enum, flow: 'login' | 'register' | 'connect', redirectApp?: string): Promise<string>;
64
+ /**
65
+ * Resolves how the GitHub backend bounce should forward the browser. GitHub only
66
+ * supports a single registered callback URL (the API), so the provider always
67
+ * lands on the backend; this maps the signed web state to the initiating app's
68
+ * origin. Returns null for legacy hub-only flows (state carries just the flow).
69
+ */
70
+ resolveWebForward(state?: string): Promise<{
71
+ origin: string | null;
72
+ flow: 'login' | 'register' | 'connect';
73
+ } | null>;
74
+ private sanitizeAppKey;
75
+ private buildWebState;
76
+ /** Parses and verifies a signed web-hub state. Returns null when invalid. */
77
+ private parseWebState;
78
+ /** Resolves an app key to its configured base origin via the `app-urls` setting. */
79
+ private resolveAppOrigin;
80
+ private normalizeOrigin;
81
+ handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, requestOrigin, requestReferer, }: HandleCallbackProps): Promise<{
46
82
  accessToken: string;
47
83
  }>;
48
84
  private getProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.service.d.ts","sourceRoot":"","sources":["../../src/oauth/oauth.service.ts"],"names":[],"mappings":"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"}
@@ -27,13 +27,15 @@ const user_constants_1 = require("../user/constants/user.constants");
27
27
  const user_service_1 = require("../user/user.service");
28
28
  const oauth_callback_coordinator_service_1 = require("./oauth-callback-coordinator.service");
29
29
  const oauth_errors_1 = require("./oauth.errors");
30
+ const apple_provider_1 = require("./providers/apple.provider");
30
31
  const facebook_provider_1 = require("./providers/facebook.provider");
31
32
  const github_provider_1 = require("./providers/github.provider");
32
33
  const google_provider_1 = require("./providers/google.provider");
34
+ const linkedin_provider_1 = require("./providers/linkedin.provider");
33
35
  const microsoft_entra_id_provider_1 = require("./providers/microsoft-entra-id.provider");
34
36
  const microsoft_provider_1 = require("./providers/microsoft.provider");
35
37
  let OAuthService = OAuthService_1 = class OAuthService {
36
- constructor(google, facebook, microsoft, github, microsoftEntraId, callbackCoordinator, auth, file, mail, security, prisma, token, setting, user) {
38
+ constructor(google, facebook, microsoft, github, microsoftEntraId, apple, linkedin, callbackCoordinator, auth, file, mail, security, prisma, token, setting, user) {
37
39
  this.callbackCoordinator = callbackCoordinator;
38
40
  this.auth = auth;
39
41
  this.file = file;
@@ -51,6 +53,8 @@ let OAuthService = OAuthService_1 = class OAuthService {
51
53
  this.providers.set(microsoft.getProviderType(), microsoft);
52
54
  this.providers.set(github.getProviderType(), github);
53
55
  this.providers.set(microsoftEntraId.getProviderType(), microsoftEntraId);
56
+ this.providers.set(apple.getProviderType(), apple);
57
+ this.providers.set(linkedin.getProviderType(), linkedin);
54
58
  }
55
59
  async getAuthUrl(provider, callbackPath) {
56
60
  const enabled = await this.isProviderEnabled(provider);
@@ -64,7 +68,9 @@ let OAuthService = OAuthService_1 = class OAuthService {
64
68
  if (!/^[a-z][a-z\d+.-]*:/i.test(sanitizedRedirectUri)) {
65
69
  throw new common_1.BadRequestException('Invalid mobile redirect URI.');
66
70
  }
67
- const callbackPath = `/callback/${String(provider)}/login`;
71
+ // Flow-less callback to match the single registered redirect URI and the
72
+ // flow-less token exchange in each provider's getProfile.
73
+ const callbackPath = `/callback/${String(provider)}`;
68
74
  const authUrl = await this.getAuthUrl(provider, callbackPath);
69
75
  const flow = 'login';
70
76
  const { token, signature } = await this.issueMobileState(provider, sanitizedRedirectUri, flow);
@@ -72,8 +78,96 @@ let OAuthService = OAuthService_1 = class OAuthService {
72
78
  url.searchParams.set('state', `hhmob.${token}.${signature}.${flow}`);
73
79
  return url.toString();
74
80
  }
75
- async handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, }) {
81
+ /**
82
+ * Builds a provider auth URL for a browser (web) flow that may be initiated by an
83
+ * app other than the OAuth hub (the app configured in the `url` setting).
84
+ *
85
+ * When `redirectApp` resolves to a known origin (via the `app-urls` setting), a
86
+ * signed `state` (`hhweb.<app>.<flow>.<sig>`) is attached so the hub can forward
87
+ * the callback back to the initiating app and the backend can bind the code
88
+ * exchange to that origin. Without a resolvable `redirectApp`, the URL is returned
89
+ * unchanged — identical to the legacy hub-only behavior.
90
+ */
91
+ async getWebAuthUrl(provider, flow, redirectApp) {
76
92
  var _a;
93
+ // Single, flow-less callback per provider: the flow (and the initiating app)
94
+ // travel in the signed state, so only ONE redirect URI needs to be registered
95
+ // per provider in its OAuth console.
96
+ const callbackPath = `/callback/${String(provider)}`;
97
+ const authUrl = await this.getAuthUrl(provider, callbackPath);
98
+ // Always carry the flow. `self` means "the hub handles it locally"; a resolvable
99
+ // app key means the hub forwards the callback back to that app (origin-bound).
100
+ const app = (_a = this.sanitizeAppKey(redirectApp)) !== null && _a !== void 0 ? _a : OAuthService_1.WEB_STATE_SELF_APP;
101
+ const url = new URL(authUrl);
102
+ url.searchParams.set('state', this.buildWebState(app, flow));
103
+ return url.toString();
104
+ }
105
+ /**
106
+ * Resolves how the GitHub backend bounce should forward the browser. GitHub only
107
+ * supports a single registered callback URL (the API), so the provider always
108
+ * lands on the backend; this maps the signed web state to the initiating app's
109
+ * origin. Returns null for legacy hub-only flows (state carries just the flow).
110
+ */
111
+ async resolveWebForward(state) {
112
+ const web = this.parseWebState(state);
113
+ if (!web) {
114
+ return null;
115
+ }
116
+ return { origin: await this.resolveAppOrigin(web.app), flow: web.flow };
117
+ }
118
+ sanitizeAppKey(app) {
119
+ const value = String(app !== null && app !== void 0 ? app : '').trim().toLowerCase();
120
+ return /^[a-z0-9][a-z0-9_-]{0,63}$/.test(value) ? value : null;
121
+ }
122
+ buildWebState(app, flow) {
123
+ const signature = this.security.signHmacSha256(`oauth-web-state:${app}:${flow}`);
124
+ return `hhweb.${app}.${flow}.${signature}`;
125
+ }
126
+ /** Parses and verifies a signed web-hub state. Returns null when invalid. */
127
+ parseWebState(state) {
128
+ if (!state || !state.startsWith('hhweb.')) {
129
+ return null;
130
+ }
131
+ const parts = state.split('.');
132
+ if (parts.length !== 4) {
133
+ return null;
134
+ }
135
+ const [, app, flow, signature] = parts;
136
+ if (!app || !flow || !signature) {
137
+ return null;
138
+ }
139
+ if (flow !== 'login' && flow !== 'register' && flow !== 'connect') {
140
+ return null;
141
+ }
142
+ if (!this.security.verifyHmacSha256(`oauth-web-state:${app}:${flow}`, signature)) {
143
+ return null;
144
+ }
145
+ return { app, flow };
146
+ }
147
+ /** Resolves an app key to its configured base origin via the `app-urls` setting. */
148
+ async resolveAppOrigin(app) {
149
+ const settings = await this.setting.getSettingValues(['app-urls']);
150
+ const appUrls = Array.isArray(settings['app-urls']) ? settings['app-urls'] : [];
151
+ const entry = appUrls.find((item) => { var _a; return ((_a = item.split('=')[0]) === null || _a === void 0 ? void 0 : _a.trim()) === app; });
152
+ if (!entry) {
153
+ return null;
154
+ }
155
+ const value = entry.slice(entry.indexOf('=') + 1).trim();
156
+ return value || null;
157
+ }
158
+ normalizeOrigin(value) {
159
+ if (!value) {
160
+ return null;
161
+ }
162
+ try {
163
+ return new URL(value).origin.toLowerCase();
164
+ }
165
+ catch (_a) {
166
+ return null;
167
+ }
168
+ }
169
+ async handleCallback({ res, locale, ipAddress, userAgent, provider, code, type, userId, email, redirectUri, state, includeRefreshTokenInBody, requestOrigin, requestReferer, }) {
170
+ var _a, _b;
77
171
  try {
78
172
  this.logger.log(`OAuth callback received: provider=${provider} type=${type} locale=${locale} ip=${ipAddress || 'n/a'} hasCode=${code ? 'yes' : 'no'} codeLength=${(_a = code === null || code === void 0 ? void 0 : code.length) !== null && _a !== void 0 ? _a : 0} userAgent="${this.summarizeUserAgent(userAgent)}"`);
79
173
  if (type === 'disconnect') {
@@ -82,6 +176,21 @@ let OAuthService = OAuthService_1 = class OAuthService {
82
176
  if (!code) {
83
177
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('oauth.callback.codeRequired', locale, 'Authorization code is required to complete OAuth authentication.'));
84
178
  }
179
+ // Web hub flow: an app other than the OAuth hub started the flow and the hub
180
+ // forwarded the code here. Bind the code exchange to the initiating app's
181
+ // origin so a leaked/forwarded code cannot be redeemed from another origin.
182
+ const webState = this.parseWebState(state);
183
+ if (webState && (type === 'login' || type === 'register')) {
184
+ const expectedOrigin = this.normalizeOrigin(await this.resolveAppOrigin(webState.app));
185
+ // Only bind cross-app forwards (the app resolves to a configured origin).
186
+ // The hub's own flow (app "self") resolves to nothing and runs locally.
187
+ if (expectedOrigin) {
188
+ const boundOrigin = (_b = this.normalizeOrigin(requestOrigin)) !== null && _b !== void 0 ? _b : this.normalizeOrigin(requestReferer);
189
+ if (!boundOrigin || expectedOrigin !== boundOrigin) {
190
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('oauth.callback.invalidState', locale, 'OAuth callback origin is invalid. Start the sign-in flow again.'));
191
+ }
192
+ }
193
+ }
85
194
  if (redirectUri &&
86
195
  !(await this.consumeMobileState(state, provider, redirectUri))) {
87
196
  throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('oauth.callback.invalidState', locale, 'OAuth callback state is invalid or expired. Start the sign-in flow again.'));
@@ -505,6 +614,8 @@ let OAuthService = OAuthService_1 = class OAuthService {
505
614
  }
506
615
  };
507
616
  exports.OAuthService = OAuthService;
617
+ /** Sentinel app in the web state meaning "the OAuth hub handles this locally". */
618
+ OAuthService.WEB_STATE_SELF_APP = 'self';
508
619
  OAuthService.PROVIDER_SCOPE_SLUGS = {
509
620
  google: 'oauth-google-scopes',
510
621
  facebook: 'oauth-facebook-scopes',
@@ -512,6 +623,8 @@ OAuthService.PROVIDER_SCOPE_SLUGS = {
512
623
  microsoft: 'oauth-microsoft-scopes',
513
624
  'microsoft-entra-id': 'oauth-microsoft-entra-id-scopes',
514
625
  microsoft_entra_id: 'oauth-microsoft-entra-id-scopes',
626
+ apple: 'oauth-apple-scopes',
627
+ linkedin: 'oauth-linkedin-scopes',
515
628
  };
516
629
  OAuthService.PROVIDER_ENABLED_SLUGS = {
517
630
  google: 'oauth-google-enabled',
@@ -520,16 +633,20 @@ OAuthService.PROVIDER_ENABLED_SLUGS = {
520
633
  microsoft: 'oauth-microsoft-enabled',
521
634
  'microsoft-entra-id': 'oauth-microsoft-entra-id-enabled',
522
635
  microsoft_entra_id: 'oauth-microsoft-entra-id-enabled',
636
+ apple: 'oauth-apple-enabled',
637
+ linkedin: 'oauth-linkedin-enabled',
523
638
  };
524
639
  exports.OAuthService = OAuthService = OAuthService_1 = __decorate([
525
640
  (0, common_1.Injectable)(),
526
- __param(6, (0, common_1.Inject)((0, common_1.forwardRef)(() => auth_service_1.AuthService))),
527
- __param(13, (0, common_1.Inject)((0, common_1.forwardRef)(() => user_service_1.UserService))),
641
+ __param(8, (0, common_1.Inject)((0, common_1.forwardRef)(() => auth_service_1.AuthService))),
642
+ __param(15, (0, common_1.Inject)((0, common_1.forwardRef)(() => user_service_1.UserService))),
528
643
  __metadata("design:paramtypes", [google_provider_1.GoogleProvider,
529
644
  facebook_provider_1.FacebookProvider,
530
645
  microsoft_provider_1.MicrosoftProvider,
531
646
  github_provider_1.GithubProvider,
532
647
  microsoft_entra_id_provider_1.MicrosoftEntraIdProvider,
648
+ apple_provider_1.AppleProvider,
649
+ linkedin_provider_1.LinkedinProvider,
533
650
  oauth_callback_coordinator_service_1.OAuthCallbackCoordinatorService,
534
651
  auth_service_1.AuthService,
535
652
  file_service_1.FileService,