@seamless-auth/core 0.10.0 → 0.11.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 (129) hide show
  1. package/README.md +50 -6
  2. package/dist/apiContract.d.ts +41 -0
  3. package/dist/apiContract.d.ts.map +1 -0
  4. package/dist/apiContract.js +48 -0
  5. package/dist/apiContract.js.map +1 -0
  6. package/dist/applyResult.d.ts +100 -0
  7. package/dist/applyResult.d.ts.map +1 -0
  8. package/dist/applyResult.js +95 -0
  9. package/dist/applyResult.js.map +1 -0
  10. package/dist/authMessaging.d.ts +14 -52
  11. package/dist/authMessaging.d.ts.map +1 -1
  12. package/dist/deliverAuthMessage.d.ts +15 -0
  13. package/dist/deliverAuthMessage.d.ts.map +1 -0
  14. package/dist/deliverAuthMessage.js +123 -0
  15. package/dist/deliverAuthMessage.js.map +1 -0
  16. package/dist/ensureCookies.d.ts +2 -2
  17. package/dist/ensureCookies.d.ts.map +1 -1
  18. package/dist/ensureCookies.js +5 -5
  19. package/dist/ensureCookies.js.map +1 -1
  20. package/dist/getSeamlessUser.d.ts +9 -8
  21. package/dist/getSeamlessUser.d.ts.map +1 -1
  22. package/dist/getSeamlessUser.js.map +1 -1
  23. package/dist/guards.d.ts +73 -0
  24. package/dist/guards.d.ts.map +1 -0
  25. package/dist/guards.js +115 -0
  26. package/dist/guards.js.map +1 -0
  27. package/dist/handlers/admin.d.ts +4 -3
  28. package/dist/handlers/admin.d.ts.map +1 -1
  29. package/dist/handlers/admin.js +4 -10
  30. package/dist/handlers/admin.js.map +1 -1
  31. package/dist/handlers/finishLogin.d.ts +2 -2
  32. package/dist/handlers/finishLogin.d.ts.map +1 -1
  33. package/dist/handlers/finishLogin.js +10 -37
  34. package/dist/handlers/finishLogin.js.map +1 -1
  35. package/dist/handlers/finishRegister.d.ts +2 -2
  36. package/dist/handlers/finishRegister.d.ts.map +1 -1
  37. package/dist/handlers/finishRegister.js +10 -34
  38. package/dist/handlers/finishRegister.js.map +1 -1
  39. package/dist/handlers/internalMetrics.d.ts +4 -3
  40. package/dist/handlers/internalMetrics.d.ts.map +1 -1
  41. package/dist/handlers/internalMetrics.js +4 -10
  42. package/dist/handlers/internalMetrics.js.map +1 -1
  43. package/dist/handlers/login.d.ts +2 -2
  44. package/dist/handlers/login.d.ts.map +1 -1
  45. package/dist/handlers/login.js +6 -9
  46. package/dist/handlers/login.js.map +1 -1
  47. package/dist/handlers/logout.d.ts.map +1 -1
  48. package/dist/handlers/logout.js.map +1 -1
  49. package/dist/handlers/me.d.ts +2 -2
  50. package/dist/handlers/me.d.ts.map +1 -1
  51. package/dist/handlers/me.js +1 -1
  52. package/dist/handlers/me.js.map +1 -1
  53. package/dist/handlers/oauthHandlers.d.ts +10 -6
  54. package/dist/handlers/oauthHandlers.d.ts.map +1 -1
  55. package/dist/handlers/oauthHandlers.js +12 -39
  56. package/dist/handlers/oauthHandlers.js.map +1 -1
  57. package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts +2 -2
  58. package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts.map +1 -1
  59. package/dist/handlers/pollMagicLinkConfirmationHandler.js +10 -37
  60. package/dist/handlers/pollMagicLinkConfirmationHandler.js.map +1 -1
  61. package/dist/handlers/register.d.ts +2 -2
  62. package/dist/handlers/register.d.ts.map +1 -1
  63. package/dist/handlers/register.js +4 -4
  64. package/dist/handlers/register.js.map +1 -1
  65. package/dist/handlers/requestMagicLinkHandler.d.ts +2 -2
  66. package/dist/handlers/requestMagicLinkHandler.d.ts.map +1 -1
  67. package/dist/handlers/requestMagicLinkHandler.js +4 -4
  68. package/dist/handlers/requestMagicLinkHandler.js.map +1 -1
  69. package/dist/handlers/requestOtpHandler.d.ts +2 -2
  70. package/dist/handlers/requestOtpHandler.d.ts.map +1 -1
  71. package/dist/handlers/requestOtpHandler.js +4 -4
  72. package/dist/handlers/requestOtpHandler.js.map +1 -1
  73. package/dist/handlers/sessions.d.ts +2 -2
  74. package/dist/handlers/sessions.d.ts.map +1 -1
  75. package/dist/handlers/sessions.js +2 -1
  76. package/dist/handlers/sessions.js.map +1 -1
  77. package/dist/handlers/switchOrganizationHandler.d.ts +2 -2
  78. package/dist/handlers/switchOrganizationHandler.d.ts.map +1 -1
  79. package/dist/handlers/switchOrganizationHandler.js +9 -28
  80. package/dist/handlers/switchOrganizationHandler.js.map +1 -1
  81. package/dist/handlers/systemConfig.d.ts +2 -2
  82. package/dist/handlers/systemConfig.d.ts.map +1 -1
  83. package/dist/handlers/systemConfig.js +4 -3
  84. package/dist/handlers/systemConfig.js.map +1 -1
  85. package/dist/handlers/verifyLoginOtpHandler.d.ts +2 -2
  86. package/dist/handlers/verifyLoginOtpHandler.d.ts.map +1 -1
  87. package/dist/handlers/verifyLoginOtpHandler.js +10 -37
  88. package/dist/handlers/verifyLoginOtpHandler.js.map +1 -1
  89. package/dist/handlers/verifyMagicLinkHandler.d.ts +2 -2
  90. package/dist/handlers/verifyMagicLinkHandler.d.ts.map +1 -1
  91. package/dist/handlers/verifyMagicLinkHandler.js +2 -1
  92. package/dist/handlers/verifyMagicLinkHandler.js.map +1 -1
  93. package/dist/index.d.ts +15 -1
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +19 -1
  96. package/dist/index.js.map +1 -1
  97. package/dist/logger.d.ts +26 -0
  98. package/dist/logger.d.ts.map +1 -0
  99. package/dist/logger.js +24 -0
  100. package/dist/logger.js.map +1 -0
  101. package/dist/proxyRequest.d.ts +62 -0
  102. package/dist/proxyRequest.d.ts.map +1 -0
  103. package/dist/proxyRequest.js +82 -0
  104. package/dist/proxyRequest.js.map +1 -0
  105. package/dist/redaction.d.ts.map +1 -1
  106. package/dist/redaction.js +8 -2
  107. package/dist/redaction.js.map +1 -1
  108. package/dist/refreshAccessToken.d.ts.map +1 -1
  109. package/dist/refreshAccessToken.js.map +1 -1
  110. package/dist/result.d.ts +23 -0
  111. package/dist/result.d.ts.map +1 -0
  112. package/dist/result.js +2 -0
  113. package/dist/result.js.map +1 -0
  114. package/dist/upstreamError.d.ts +31 -0
  115. package/dist/upstreamError.d.ts.map +1 -0
  116. package/dist/upstreamError.js +49 -0
  117. package/dist/upstreamError.js.map +1 -0
  118. package/dist/upstreamSession.d.ts +53 -0
  119. package/dist/upstreamSession.d.ts.map +1 -0
  120. package/dist/upstreamSession.js +56 -0
  121. package/dist/upstreamSession.js.map +1 -0
  122. package/dist/verifySignedAuthResponse.d.ts.map +1 -1
  123. package/dist/verifySignedAuthResponse.js +2 -1
  124. package/dist/verifySignedAuthResponse.js.map +1 -1
  125. package/package.json +2 -1
  126. package/dist/scopedRoles.d.ts +0 -3
  127. package/dist/scopedRoles.d.ts.map +0 -1
  128. package/dist/scopedRoles.js +0 -39
  129. package/dist/scopedRoles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"internalMetrics.d.ts","sourceRoot":"","sources":["../../src/handlers/internalMetrics.ts"],"names":[],"mappings":"AAEA,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,SAAS,GAAG,QAAQ,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CAC/D,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAuCF,eAAO,MAAM,0BAA0B,GAAI,MAAM,SAAS,oBACd,CAAC;AAE7C,eAAO,MAAM,6BAA6B,GAAI,MAAM,SAAS,oBACd,CAAC;AAEhD,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,oBACH,CAAC;AAEjD,eAAO,MAAM,2BAA2B,GAAI,MAAM,QAAQ,oBACf,CAAC;AAE5C,eAAO,MAAM,0BAA0B,GAAI,MAAM,QAAQ,oBACf,CAAC;AAE3C,eAAO,MAAM,6BAA6B,GAAI,MAAM,SAAS,oBACjB,CAAC"}
1
+ {"version":3,"file":"internalMetrics.d.ts","sourceRoot":"","sources":["../../src/handlers/internalMetrics.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,KAAK,QAAQ,GAAG;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,SAAS,GAAG,QAAQ,GAAG;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,MAAM,GAAG,aAAa,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AA4BF,eAAO,MAAM,0BAA0B,GAAI,MAAM,SAAS,oBACd,CAAC;AAE7C,eAAO,MAAM,6BAA6B,GAAI,MAAM,SAAS,oBACd,CAAC;AAEhD,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,oBACH,CAAC;AAEjD,eAAO,MAAM,2BAA2B,GAAI,MAAM,QAAQ,oBACf,CAAC;AAE5C,eAAO,MAAM,0BAA0B,GAAI,MAAM,QAAQ,oBACf,CAAC;AAE3C,eAAO,MAAM,6BAA6B,GAAI,MAAM,SAAS,oBACjB,CAAC"}
@@ -1,14 +1,8 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- function buildUrl(base, query) {
3
- if (!query)
4
- return base;
5
- const qs = new URLSearchParams(Object.entries(query)
6
- .filter(([, v]) => v !== undefined && v !== null)
7
- .map(([k, v]) => [k, String(v)])).toString();
8
- return qs ? `${base}?${qs}` : base;
9
- }
2
+ import { buildUpstreamUrl } from "../proxyRequest.js";
3
+ import { readUpstreamFailure } from "../upstreamError.js";
10
4
  async function get(path, opts) {
11
- const up = await authFetch(buildUrl(`${opts.authServerUrl}${path}`, opts.query), {
5
+ const up = await authFetch(buildUpstreamUrl(opts.authServerUrl, path, opts.query), {
12
6
  method: "GET",
13
7
  authorization: opts.authorization,
14
8
  serviceAuthorization: opts.serviceAuthorization,
@@ -18,7 +12,7 @@ async function get(path, opts) {
18
12
  if (!up.ok) {
19
13
  return {
20
14
  status: up.status,
21
- error: data?.error || "internal_request_failed",
15
+ ...readUpstreamFailure(data, "internal_request_failed"),
22
16
  };
23
17
  }
24
18
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"internalMetrics.js","sourceRoot":"","sources":["../../src/handlers/internalMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,SAAS,QAAQ,CAAC,IAAY,EAAE,KAA0B;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,eAAe,CAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC,QAAQ,EAAE,CAAC;IAEb,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAe;IAC9C,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,QAAQ,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EACpD;QACE,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,yBAAyB;SAChD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC5D,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC/D,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAc,EAAE,EAAE,CACrD,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAc,EAAE,EAAE,CAC5D,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAc,EAAE,EAAE,CAC3D,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC/D,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"internalMetrics.js","sourceRoot":"","sources":["../../src/handlers/internalMetrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAkB1D,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAe;IAC9C,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EACtD;QACE,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,mBAAmB,CAAC,IAAI,EAAE,yBAAyB,CAAC;SACxD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC5D,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC/D,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAc,EAAE,EAAE,CACrD,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAc,EAAE,EAAE,CAC5D,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAc,EAAE,EAAE,CAC3D,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAe,EAAE,EAAE,CAC/D,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  import type { CookiePayload } from "../ensureCookies.js";
2
3
  export interface LoginInput {
3
4
  body: unknown;
@@ -10,14 +11,13 @@ export interface LoginOptions {
10
11
  serviceAuthorization?: string;
11
12
  forwardedClientIp?: string;
12
13
  }
13
- export interface LoginResult {
14
+ export interface LoginResult extends ResultFailure {
14
15
  status: number;
15
16
  body?: {
16
17
  message?: string;
17
18
  identifierType?: string;
18
19
  loginMethods?: string[];
19
20
  };
20
- error?: unknown;
21
21
  setCookies?: {
22
22
  name: string;
23
23
  value: CookiePayload;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CAyDtB"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CA+CtB"}
@@ -1,5 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- import { verifySignedAuthResponse } from "../verifySignedAuthResponse.js";
2
+ import { readPassthroughFailure } from "../upstreamError.js";
3
+ import { verifyUpstreamSession } from "../upstreamSession.js";
3
4
  export async function loginHandler(input, opts) {
4
5
  const up = await authFetch(`${opts.authServerUrl}/login`, {
5
6
  method: "POST",
@@ -11,16 +12,12 @@ export async function loginHandler(input, opts) {
11
12
  if (!up.ok) {
12
13
  return {
13
14
  status: up.status,
14
- error: data,
15
+ ...readPassthroughFailure(data),
15
16
  };
16
17
  }
17
- const verified = await verifySignedAuthResponse(data.token, opts.authServerUrl, opts.audience);
18
- if (!verified) {
19
- throw new Error("Invalid signed response from Auth Server");
20
- }
21
- if (verified.sub !== data.sub) {
22
- throw new Error("Signature mismatch with data payload");
23
- }
18
+ // Login issues only the pre-auth cookie, so it verifies the response without
19
+ // building session cookies from it.
20
+ await verifyUpstreamSession(data, opts.authServerUrl, opts.audience);
24
21
  const body = {
25
22
  ...(typeof data.message === "string" ? { message: data.message } : {}),
26
23
  ...(typeof data.identifierType === "string"
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA+B1E,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAiB,EACjB,IAAkB;IAElB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,QAAQ,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CACd,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;YACzC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC;gBACE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CACpC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAC5C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI;QACJ,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/handlers/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AA8B9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAiB,EACjB,IAAkB;IAElB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,QAAQ,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,oCAAoC;IACpC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAErE,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;YACzC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC;gBACE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CACpC,CAAC,IAAa,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAC5C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI;QACJ,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/handlers/logout.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAM7D,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB9E;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,yBAE7E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,yBAE1E"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/handlers/logout.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAM7D,wBAAsB,aAAa,CACjC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC,CAoBvB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,yBAGnC;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,yBAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/handlers/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,SAAS,aAAa,CAAC,KAAkB;IACvC,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmB;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE;QAC/E,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;QAC3C,YAAY,EAAE;YACZ,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,iBAAiB;SACvB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAkC;IAC5E,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAkC;IACzE,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/handlers/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,SAAS,aAAa,CAAC,KAAkB;IACvC,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAC9C;QACE,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CACF,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM;QAC3C,YAAY,EAAE;YACZ,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,iBAAiB;SACvB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAkC;IAElC,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAkC;IACzE,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  export interface MeOptions {
2
3
  authServerUrl: string;
3
4
  preAuthCookieName: string;
@@ -5,13 +6,12 @@ export interface MeOptions {
5
6
  serviceAuthorization?: string;
6
7
  forwardedClientIp?: string;
7
8
  }
8
- export interface MeResult {
9
+ export interface MeResult extends ResultFailure {
9
10
  status: number;
10
11
  body?: {
11
12
  user: unknown;
12
13
  credentials?: unknown;
13
14
  };
14
- error?: string;
15
15
  clearCookies?: string[];
16
16
  }
17
17
  export declare function meHandler(opts: MeOptions): Promise<MeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/handlers/me.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,OAAO,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2BlE"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/handlers/me.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAS,SAAQ,aAAa;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,OAAO,CAAC;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CA2BlE"}
@@ -11,7 +11,7 @@ export async function meHandler(opts) {
11
11
  if (!data?.user) {
12
12
  return {
13
13
  status: 401,
14
- error: "unauthenticated",
14
+ errorCode: "unauthenticated",
15
15
  clearCookies,
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/handlers/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe;IAC7C,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,WAAW,EAAE;QAC3D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE9C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,iBAAiB;YACxB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;QACD,YAAY;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/handlers/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAoB5C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe;IAC7C,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,WAAW,EAAE;QAC3D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KAC1C,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE9C,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,iBAAiB;YAC5B,YAAY;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;QACD,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  import type { CookiePayload } from "../ensureCookies.js";
2
3
  export interface OAuthHandlerOptions {
3
4
  authServerUrl: string;
@@ -12,10 +13,9 @@ export interface OAuthRequestInput {
12
13
  serviceAuthorization?: string;
13
14
  forwardedClientIp?: string;
14
15
  }
15
- export interface OAuthHandlerResult {
16
+ export interface OAuthHandlerResult extends ResultFailure {
16
17
  status: number;
17
18
  body?: unknown;
18
- error?: unknown;
19
19
  setCookies?: {
20
20
  name: string;
21
21
  value: CookiePayload;
@@ -24,17 +24,21 @@ export interface OAuthHandlerResult {
24
24
  }[];
25
25
  }
26
26
  export declare function listOAuthProvidersHandler(opts: Pick<OAuthHandlerOptions, "authServerUrl">): Promise<{
27
- body: any;
27
+ errorCode?: string;
28
+ errorBody?: unknown;
29
+ details?: unknown;
28
30
  status: number;
29
31
  } | {
30
- error: any;
32
+ body: any;
31
33
  status: number;
32
34
  }>;
33
35
  export declare function startOAuthLoginHandler(input: OAuthRequestInput, opts: Pick<OAuthHandlerOptions, "authServerUrl">): Promise<{
34
- body: any;
36
+ errorCode?: string;
37
+ errorBody?: unknown;
38
+ details?: unknown;
35
39
  status: number;
36
40
  } | {
37
- error: any;
41
+ body: any;
38
42
  status: number;
39
43
  }>;
40
44
  export declare function finishOAuthLoginHandler(input: OAuthRequestInput, opts: OAuthHandlerOptions): Promise<OAuthHandlerResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"oauthHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/oauthHandlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;;;;;;GAYjD;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;;;;;;GAkBjD;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAoE7B"}
1
+ {"version":3,"file":"oauthHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/oauthHandlers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;;;;;;;;GAYjD;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;;;;;;;;GAkBjD;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CA+B7B"}
@@ -1,5 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- import { verifySignedAuthResponse } from "../verifySignedAuthResponse.js";
2
+ import { issueSessionCookies } from "../upstreamSession.js";
3
+ import { readPassthroughFailure } from "../upstreamError.js";
3
4
  export async function listOAuthProvidersHandler(opts) {
4
5
  const up = await authFetch(`${opts.authServerUrl}/oauth/providers`, {
5
6
  method: "GET",
@@ -7,7 +8,7 @@ export async function listOAuthProvidersHandler(opts) {
7
8
  const data = await up.json();
8
9
  return {
9
10
  status: up.status,
10
- ...(up.ok ? { body: data } : { error: data }),
11
+ ...(up.ok ? { body: data } : readPassthroughFailure(data)),
11
12
  };
12
13
  }
13
14
  export async function startOAuthLoginHandler(input, opts) {
@@ -20,7 +21,7 @@ export async function startOAuthLoginHandler(input, opts) {
20
21
  const data = await up.json();
21
22
  return {
22
23
  status: up.status,
23
- ...(up.ok ? { body: data } : { error: data }),
24
+ ...(up.ok ? { body: data } : readPassthroughFailure(data)),
24
25
  };
25
26
  }
26
27
  export async function finishOAuthLoginHandler(input, opts) {
@@ -34,47 +35,19 @@ export async function finishOAuthLoginHandler(input, opts) {
34
35
  if (!up.ok) {
35
36
  return {
36
37
  status: up.status,
37
- error: data,
38
+ ...readPassthroughFailure(data),
38
39
  };
39
40
  }
40
- const verifiedAccessToken = await verifySignedAuthResponse(data.token, opts.authServerUrl, opts.audience);
41
- if (!verifiedAccessToken) {
42
- throw new Error("Invalid signed response from Auth Server");
43
- }
44
- if (verifiedAccessToken.sub !== data.sub) {
45
- throw new Error("Signature mismatch with data payload");
46
- }
47
- const sessionId = typeof verifiedAccessToken.sid === "string"
48
- ? verifiedAccessToken.sid
49
- : undefined;
50
41
  return {
51
42
  status: up.status,
52
43
  body: data,
53
- setCookies: [
54
- {
55
- name: opts.accessCookieName,
56
- value: {
57
- sub: data.sub,
58
- ...(sessionId === undefined ? {} : { sessionId }),
59
- token: data.token,
60
- roles: data.roles,
61
- email: data.email,
62
- phone: data.phone,
63
- organizationId: data.organizationId ?? null,
64
- },
65
- ttl: data.ttl,
66
- domain: opts.cookieDomain,
67
- },
68
- {
69
- name: opts.refreshCookieName,
70
- value: {
71
- sub: data.sub,
72
- refreshToken: data.refreshToken,
73
- },
74
- ttl: data.refreshTtl,
75
- domain: opts.cookieDomain,
76
- },
77
- ],
44
+ setCookies: await issueSessionCookies(data, {
45
+ authServerUrl: opts.authServerUrl,
46
+ audience: opts.audience,
47
+ accessCookieName: opts.accessCookieName,
48
+ refreshCookieName: opts.refreshCookieName,
49
+ cookieDomain: opts.cookieDomain,
50
+ }),
78
51
  };
79
52
  }
80
53
  //# sourceMappingURL=oauthHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauthHandlers.js","sourceRoot":"","sources":["../../src/handlers/oauthHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauthHandlers.js","sourceRoot":"","sources":["../../src/handlers/oauthHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA8B7D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,IAAgD;IAEhD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,kBAAkB,EAAE;QAClE,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAwB,EACxB,IAAgD;IAEhD,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,UAAU,kBAAkB,CAAC,KAAK,CAAC,UAAW,CAAC,QAAQ,EAC5E;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAwB,EACxB,IAAyB;IAEzB,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,UAAU,kBAAkB,CAAC,KAAK,CAAC,UAAW,CAAC,WAAW,EAC/E;QACE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,MAAM,mBAAmB,CAAC,IAAI,EAAE;YAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  import type { CookiePayload } from "../ensureCookies.js";
2
3
  export interface PollMagicLinkConfirmationInput {
3
4
  authorization?: string;
@@ -11,10 +12,9 @@ export interface PollMagicLinkConfirmationOptions {
11
12
  refreshCookieName: string;
12
13
  serviceAuthorization?: string;
13
14
  }
14
- export interface PollMagicLinkConfirmationResult {
15
+ export interface PollMagicLinkConfirmationResult extends ResultFailure {
15
16
  status: number;
16
17
  body?: unknown;
17
- error?: unknown;
18
18
  setCookies?: {
19
19
  name: string;
20
20
  value: CookiePayload;
@@ -1 +1 @@
1
- {"version":3,"file":"pollMagicLinkConfirmationHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/pollMagicLinkConfirmationHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,WAAW,8BAA8B;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,8BAA8B,EACrC,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,+BAA+B,CAAC,CA8E1C"}
1
+ {"version":3,"file":"pollMagicLinkConfirmationHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/pollMagicLinkConfirmationHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,8BAA8B;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,+BAAgC,SAAQ,aAAa;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,gCAAgC,CACpD,KAAK,EAAE,8BAA8B,EACrC,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,+BAA+B,CAAC,CAyC1C"}
@@ -1,5 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- import { verifySignedAuthResponse } from "../verifySignedAuthResponse.js";
2
+ import { issueSessionCookies } from "../upstreamSession.js";
3
+ import { readPassthroughFailure } from "../upstreamError.js";
3
4
  export async function pollMagicLinkConfirmationHandler(input, opts) {
4
5
  const up = await authFetch(`${opts.authServerUrl}/magic-link/check`, {
5
6
  method: "GET",
@@ -16,7 +17,7 @@ export async function pollMagicLinkConfirmationHandler(input, opts) {
16
17
  if (!up.ok) {
17
18
  return {
18
19
  status: up.status,
19
- error: data,
20
+ ...readPassthroughFailure(data),
20
21
  };
21
22
  }
22
23
  if (!data?.token || !data?.refreshToken || !data?.sub) {
@@ -25,44 +26,16 @@ export async function pollMagicLinkConfirmationHandler(input, opts) {
25
26
  body: data,
26
27
  };
27
28
  }
28
- const verifiedAccessToken = await verifySignedAuthResponse(data.token, opts.authServerUrl, opts.audience);
29
- if (!verifiedAccessToken) {
30
- throw new Error("Invalid signed response from Auth Server");
31
- }
32
- if (verifiedAccessToken.sub !== data.sub) {
33
- throw new Error("Signature mismatch with data payload");
34
- }
35
- const sessionId = typeof verifiedAccessToken.sid === "string"
36
- ? verifiedAccessToken.sid
37
- : undefined;
38
29
  return {
39
30
  status: 200,
40
31
  body: data,
41
- setCookies: [
42
- {
43
- name: opts.accessCookieName,
44
- value: {
45
- sub: data.sub,
46
- ...(sessionId === undefined ? {} : { sessionId }),
47
- token: data.token,
48
- roles: data.roles,
49
- email: data.email,
50
- phone: data.phone,
51
- organizationId: data.organizationId ?? null,
52
- },
53
- ttl: data.ttl,
54
- domain: opts.cookieDomain,
55
- },
56
- {
57
- name: opts.refreshCookieName,
58
- value: {
59
- sub: data.sub,
60
- refreshToken: data.refreshToken,
61
- },
62
- ttl: data.refreshTtl,
63
- domain: opts.cookieDomain,
64
- },
65
- ],
32
+ setCookies: await issueSessionCookies(data, {
33
+ authServerUrl: opts.authServerUrl,
34
+ audience: opts.audience,
35
+ accessCookieName: opts.accessCookieName,
36
+ refreshCookieName: opts.refreshCookieName,
37
+ cookieDomain: opts.cookieDomain,
38
+ }),
66
39
  };
67
40
  }
68
41
  //# sourceMappingURL=pollMagicLinkConfirmationHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pollMagicLinkConfirmationHandler.js","sourceRoot":"","sources":["../../src/handlers/pollMagicLinkConfirmationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AA4B1E,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,KAAqC,EACrC,IAAsC;IAEtC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,mBAAmB,EAAE;QACnE,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,wBAAwB,CACxD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CACd,CAAC;IAEF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GACb,OAAO,mBAAmB,CAAC,GAAG,KAAK,QAAQ;QACzC,CAAC,CAAC,mBAAmB,CAAC,GAAG;QACzB,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;QACV,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,IAAI,CAAC,gBAAgB;gBAC3B,KAAK,EAAE;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;oBACjD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;iBAC5C;gBACD,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;YACD;gBACE,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,KAAK,EAAE;oBACL,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,YAAY,EAAE,IAAI,CAAC,YAAY;iBAChC;gBACD,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pollMagicLinkConfirmationHandler.js","sourceRoot":"","sources":["../../src/handlers/pollMagicLinkConfirmationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA6B7D,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,KAAqC,EACrC,IAAsC;IAEtC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,mBAAmB,EAAE;QACnE,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;KAChD,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,GAAG;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QACtD,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,MAAM,mBAAmB,CAAC,IAAI,EAAE;YAC1C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  import type { CookiePayload } from "../ensureCookies.js";
2
3
  export interface RegisterInput {
3
4
  body: unknown;
@@ -10,10 +11,9 @@ export interface RegisterOptions {
10
11
  forwardedClientIp?: string;
11
12
  serviceAuthorization?: string;
12
13
  }
13
- export interface RegisterResult {
14
+ export interface RegisterResult extends ResultFailure {
14
15
  status: number;
15
16
  body?: unknown;
16
- error?: unknown;
17
17
  setCookies?: {
18
18
  name: string;
19
19
  value: CookiePayload;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/handlers/register.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/handlers/register.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,cAAc,CAAC,CAkCzB"}
@@ -1,4 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
+ import { readPassthroughFailure } from "../upstreamError.js";
3
+ import { EXTERNAL_DELIVERY_HEADERS } from "../apiContract.js";
2
4
  export async function registerHandler(input, opts) {
3
5
  const up = await authFetch(`${opts.authServerUrl}/registration/register`, {
4
6
  method: "POST",
@@ -7,9 +9,7 @@ export async function registerHandler(input, opts) {
7
9
  serviceAuthorization: opts.serviceAuthorization,
8
10
  ...(opts.externalDelivery
9
11
  ? {
10
- headers: {
11
- "x-seamless-auth-delivery-mode": "external",
12
- },
12
+ headers: EXTERNAL_DELIVERY_HEADERS,
13
13
  }
14
14
  : {}),
15
15
  });
@@ -17,7 +17,7 @@ export async function registerHandler(input, opts) {
17
17
  if (!up.ok) {
18
18
  return {
19
19
  status: up.status,
20
- error: data,
20
+ ...readPassthroughFailure(data),
21
21
  };
22
22
  }
23
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA4B5C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,IAAqB;IAErB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,+BAA+B,EAAE,UAAU;iBAC5C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;QACV,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,IAAI,CAAC,sBAAsB;gBACjC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AA4B9D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,IAAqB;IAErB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,EAAE;QACxE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE,yBAAyB;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,IAAI;QACV,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,IAAI,CAAC,sBAAsB;gBACjC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  export interface RequestMagicLinkInput {
2
3
  authorization?: string;
3
4
  }
@@ -7,10 +8,9 @@ export interface RequestMagicLinkOptions {
7
8
  forwardedClientIp?: string;
8
9
  serviceAuthorization?: string;
9
10
  }
10
- export interface RequestMagicLinkResult {
11
+ export interface RequestMagicLinkResult extends ResultFailure {
11
12
  status: number;
12
13
  body?: unknown;
13
- error?: unknown;
14
14
  }
15
15
  export declare function requestMagicLinkHandler(input: RequestMagicLinkInput, opts: RequestMagicLinkOptions): Promise<RequestMagicLinkResult>;
16
16
  //# sourceMappingURL=requestMagicLinkHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestMagicLinkHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/requestMagicLinkHandler.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CA4BjC"}
1
+ {"version":3,"file":"requestMagicLinkHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/requestMagicLinkHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CA0BjC"}
@@ -1,4 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
+ import { readPassthroughFailure } from "../upstreamError.js";
3
+ import { EXTERNAL_DELIVERY_HEADERS } from "../apiContract.js";
2
4
  export async function requestMagicLinkHandler(input, opts) {
3
5
  const up = await authFetch(`${opts.authServerUrl}/magic-link`, {
4
6
  method: "GET",
@@ -7,9 +9,7 @@ export async function requestMagicLinkHandler(input, opts) {
7
9
  serviceAuthorization: opts.serviceAuthorization,
8
10
  ...(opts.externalDelivery
9
11
  ? {
10
- headers: {
11
- "x-seamless-auth-delivery-mode": "external",
12
- },
12
+ headers: EXTERNAL_DELIVERY_HEADERS,
13
13
  }
14
14
  : {}),
15
15
  });
@@ -17,7 +17,7 @@ export async function requestMagicLinkHandler(input, opts) {
17
17
  if (!up.ok) {
18
18
  return {
19
19
  status: up.status,
20
- error: data,
20
+ ...readPassthroughFailure(data),
21
21
  };
22
22
  }
23
23
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"requestMagicLinkHandler.js","sourceRoot":"","sources":["../../src/handlers/requestMagicLinkHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAA4B,EAC5B,IAA6B;IAE7B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,aAAa,EAAE;QAC7D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,+BAA+B,EAAE,UAAU;iBAC5C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"requestMagicLinkHandler.js","sourceRoot":"","sources":["../../src/handlers/requestMagicLinkHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAmB9D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAA4B,EAC5B,IAA6B;IAE7B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,aAAa,EAAE;QAC7D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE,yBAAyB;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ResultFailure } from "../result.js";
1
2
  export interface RequestOtpInput {
2
3
  authorization?: string;
3
4
  flow?: "registration" | "login";
@@ -9,10 +10,9 @@ export interface RequestOtpOptions {
9
10
  forwardedClientIp?: string;
10
11
  serviceAuthorization?: string;
11
12
  }
12
- export interface RequestOtpResult {
13
+ export interface RequestOtpResult extends ResultFailure {
13
14
  status: number;
14
15
  body?: unknown;
15
- error?: unknown;
16
16
  }
17
17
  export declare function requestOtpHandler(input: RequestOtpInput, opts: RequestOtpOptions): Promise<RequestOtpResult>;
18
18
  //# sourceMappingURL=requestOtpHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestOtpHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/requestOtpHandler.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAChC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsC3B"}
1
+ {"version":3,"file":"requestOtpHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/requestOtpHandler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC;IAChC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAoC3B"}
@@ -1,4 +1,6 @@
1
1
  import { authFetch } from "../authFetch.js";
2
+ import { readPassthroughFailure } from "../upstreamError.js";
3
+ import { EXTERNAL_DELIVERY_HEADERS } from "../apiContract.js";
2
4
  export async function requestOtpHandler(input, opts) {
3
5
  const flow = input.flow ?? "registration";
4
6
  const path = flow === "login"
@@ -15,9 +17,7 @@ export async function requestOtpHandler(input, opts) {
15
17
  serviceAuthorization: opts.serviceAuthorization,
16
18
  ...(opts.externalDelivery
17
19
  ? {
18
- headers: {
19
- "x-seamless-auth-delivery-mode": "external",
20
- },
20
+ headers: EXTERNAL_DELIVERY_HEADERS,
21
21
  }
22
22
  : {}),
23
23
  });
@@ -25,7 +25,7 @@ export async function requestOtpHandler(input, opts) {
25
25
  if (!up.ok) {
26
26
  return {
27
27
  status: up.status,
28
- error: data,
28
+ ...readPassthroughFailure(data),
29
29
  };
30
30
  }
31
31
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"requestOtpHandler.js","sourceRoot":"","sources":["../../src/handlers/requestOtpHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqB5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAsB,EACtB,IAAuB;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,cAAc,CAAC;IAC1C,MAAM,IAAI,GACR,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,wBAAwB,CAAC;IAEjC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE;QAC1D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,+BAA+B,EAAE,UAAU;iBAC5C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"requestOtpHandler.js","sourceRoot":"","sources":["../../src/handlers/requestOtpHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAqB9D,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAsB,EACtB,IAAuB;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,cAAc,CAAC;IAC1C,MAAM,IAAI,GACR,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,8BAA8B;YAChC,CAAC,CAAC,8BAA8B;QAClC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,wBAAwB,CAAC;IAEjC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE;QAC1D,MAAM,EAAE,KAAK;QACb,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,GAAG,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC;gBACE,OAAO,EAAE,yBAAyB;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,sBAAsB,CAAC,IAAI,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC"}