@seamless-auth/core 0.14.0 → 0.16.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 (125) hide show
  1. package/README.md +16 -2
  2. package/dist/applyResult.d.ts +11 -1
  3. package/dist/applyResult.d.ts.map +1 -1
  4. package/dist/applyResult.js +3 -1
  5. package/dist/applyResult.js.map +1 -1
  6. package/dist/authFetch.d.ts +1 -0
  7. package/dist/authFetch.d.ts.map +1 -1
  8. package/dist/authFetch.js +3 -0
  9. package/dist/authFetch.js.map +1 -1
  10. package/dist/ensureCookies.d.ts +1 -0
  11. package/dist/ensureCookies.d.ts.map +1 -1
  12. package/dist/ensureCookies.js +3 -0
  13. package/dist/ensureCookies.js.map +1 -1
  14. package/dist/getSeamlessUser.d.ts +15 -2
  15. package/dist/getSeamlessUser.d.ts.map +1 -1
  16. package/dist/getSeamlessUser.js +29 -10
  17. package/dist/getSeamlessUser.js.map +1 -1
  18. package/dist/guards.d.ts +39 -0
  19. package/dist/guards.d.ts.map +1 -1
  20. package/dist/guards.js +63 -0
  21. package/dist/guards.js.map +1 -1
  22. package/dist/handlers/admin.d.ts +1 -0
  23. package/dist/handlers/admin.d.ts.map +1 -1
  24. package/dist/handlers/admin.js +1 -0
  25. package/dist/handlers/admin.js.map +1 -1
  26. package/dist/handlers/finishLogin.d.ts +3 -0
  27. package/dist/handlers/finishLogin.d.ts.map +1 -1
  28. package/dist/handlers/finishLogin.js +5 -4
  29. package/dist/handlers/finishLogin.js.map +1 -1
  30. package/dist/handlers/finishRegister.d.ts +1 -0
  31. package/dist/handlers/finishRegister.d.ts.map +1 -1
  32. package/dist/handlers/finishRegister.js +1 -0
  33. package/dist/handlers/finishRegister.js.map +1 -1
  34. package/dist/handlers/internalMetrics.d.ts +3 -0
  35. package/dist/handlers/internalMetrics.d.ts.map +1 -1
  36. package/dist/handlers/internalMetrics.js +3 -0
  37. package/dist/handlers/internalMetrics.js.map +1 -1
  38. package/dist/handlers/login.d.ts +14 -5
  39. package/dist/handlers/login.d.ts.map +1 -1
  40. package/dist/handlers/login.js +7 -1
  41. package/dist/handlers/login.js.map +1 -1
  42. package/dist/handlers/logout.d.ts +1 -0
  43. package/dist/handlers/logout.d.ts.map +1 -1
  44. package/dist/handlers/logout.js +1 -0
  45. package/dist/handlers/logout.js.map +1 -1
  46. package/dist/handlers/me.d.ts +1 -0
  47. package/dist/handlers/me.d.ts.map +1 -1
  48. package/dist/handlers/me.js +1 -0
  49. package/dist/handlers/me.js.map +1 -1
  50. package/dist/handlers/oauthHandlers.d.ts +3 -0
  51. package/dist/handlers/oauthHandlers.d.ts.map +1 -1
  52. package/dist/handlers/oauthHandlers.js +6 -4
  53. package/dist/handlers/oauthHandlers.js.map +1 -1
  54. package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts +3 -0
  55. package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts.map +1 -1
  56. package/dist/handlers/pollMagicLinkConfirmationHandler.js +5 -4
  57. package/dist/handlers/pollMagicLinkConfirmationHandler.js.map +1 -1
  58. package/dist/handlers/refresh.d.ts +44 -0
  59. package/dist/handlers/refresh.d.ts.map +1 -0
  60. package/dist/handlers/refresh.js +70 -0
  61. package/dist/handlers/refresh.js.map +1 -0
  62. package/dist/handlers/register.d.ts +3 -0
  63. package/dist/handlers/register.d.ts.map +1 -1
  64. package/dist/handlers/register.js +4 -0
  65. package/dist/handlers/register.js.map +1 -1
  66. package/dist/handlers/requestMagicLinkHandler.d.ts +1 -0
  67. package/dist/handlers/requestMagicLinkHandler.d.ts.map +1 -1
  68. package/dist/handlers/requestMagicLinkHandler.js +1 -0
  69. package/dist/handlers/requestMagicLinkHandler.js.map +1 -1
  70. package/dist/handlers/requestOtpHandler.d.ts +1 -0
  71. package/dist/handlers/requestOtpHandler.d.ts.map +1 -1
  72. package/dist/handlers/requestOtpHandler.js +1 -0
  73. package/dist/handlers/requestOtpHandler.js.map +1 -1
  74. package/dist/handlers/sessions.d.ts +1 -0
  75. package/dist/handlers/sessions.d.ts.map +1 -1
  76. package/dist/handlers/sessions.js +1 -0
  77. package/dist/handlers/sessions.js.map +1 -1
  78. package/dist/handlers/switchOrganizationHandler.d.ts +3 -0
  79. package/dist/handlers/switchOrganizationHandler.d.ts.map +1 -1
  80. package/dist/handlers/switchOrganizationHandler.js +5 -4
  81. package/dist/handlers/switchOrganizationHandler.js.map +1 -1
  82. package/dist/handlers/systemConfig.d.ts +2 -1
  83. package/dist/handlers/systemConfig.d.ts.map +1 -1
  84. package/dist/handlers/systemConfig.js +4 -0
  85. package/dist/handlers/systemConfig.js.map +1 -1
  86. package/dist/handlers/verifyLoginOtpHandler.d.ts +3 -0
  87. package/dist/handlers/verifyLoginOtpHandler.d.ts.map +1 -1
  88. package/dist/handlers/verifyLoginOtpHandler.js +5 -4
  89. package/dist/handlers/verifyLoginOtpHandler.js.map +1 -1
  90. package/dist/handlers/verifyMagicLinkHandler.d.ts +1 -0
  91. package/dist/handlers/verifyMagicLinkHandler.d.ts.map +1 -1
  92. package/dist/handlers/verifyMagicLinkHandler.js +1 -0
  93. package/dist/handlers/verifyMagicLinkHandler.js.map +1 -1
  94. package/dist/index.d.ts +3 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +3 -0
  97. package/dist/index.js.map +1 -1
  98. package/dist/jwks.d.ts +3 -0
  99. package/dist/jwks.d.ts.map +1 -0
  100. package/dist/jwks.js +15 -0
  101. package/dist/jwks.js.map +1 -0
  102. package/dist/proxyRequest.d.ts +10 -2
  103. package/dist/proxyRequest.d.ts.map +1 -1
  104. package/dist/proxyRequest.js +25 -14
  105. package/dist/proxyRequest.js.map +1 -1
  106. package/dist/refreshAccessToken.d.ts +20 -0
  107. package/dist/refreshAccessToken.d.ts.map +1 -1
  108. package/dist/refreshAccessToken.js +72 -21
  109. package/dist/refreshAccessToken.js.map +1 -1
  110. package/dist/transport.d.ts +20 -0
  111. package/dist/transport.d.ts.map +1 -0
  112. package/dist/transport.js +12 -0
  113. package/dist/transport.js.map +1 -0
  114. package/dist/upstreamSession.d.ts +19 -0
  115. package/dist/upstreamSession.d.ts.map +1 -1
  116. package/dist/upstreamSession.js +20 -0
  117. package/dist/upstreamSession.js.map +1 -1
  118. package/dist/verifyAccessToken.d.ts +30 -0
  119. package/dist/verifyAccessToken.d.ts.map +1 -0
  120. package/dist/verifyAccessToken.js +44 -0
  121. package/dist/verifyAccessToken.js.map +1 -0
  122. package/dist/verifySignedAuthResponse.d.ts.map +1 -1
  123. package/dist/verifySignedAuthResponse.js +3 -16
  124. package/dist/verifySignedAuthResponse.js.map +1 -1
  125. package/package.json +1 -1
@@ -4,6 +4,7 @@ type BaseOpts = {
4
4
  authorization?: string;
5
5
  serviceAuthorization?: string;
6
6
  forwardedClientIp?: string;
7
+ forwardedUserAgent?: string;
7
8
  };
8
9
  type Result = ResultFailure & {
9
10
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/handlers/sessions.ts"],"names":[],"mappings":"AACA,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,MAAM,GAAG,aAAa,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AA6BF,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ,oBACf,CAAC;AAEpC,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAEjE,eAAO,MAAM,wBAAwB,GAAI,MAAM,QAAQ,oBACjB,CAAC"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/handlers/sessions.ts"],"names":[],"mappings":"AACA,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;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,MAAM,GAAG,aAAa,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AA8BF,eAAO,MAAM,mBAAmB,GAAI,MAAM,QAAQ,oBACf,CAAC;AAEpC,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAEjE,eAAO,MAAM,wBAAwB,GAAI,MAAM,QAAQ,oBACjB,CAAC"}
@@ -6,6 +6,7 @@ async function request(method, path, opts) {
6
6
  authorization: opts.authorization,
7
7
  serviceAuthorization: opts.serviceAuthorization,
8
8
  forwardedClientIp: opts.forwardedClientIp,
9
+ forwardedUserAgent: opts.forwardedUserAgent,
9
10
  });
10
11
  const data = await up.json();
11
12
  if (!up.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/handlers/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAc1D,KAAK,UAAU,OAAO,CACpB,MAAwB,EACxB,IAAY,EACZ,IAAc;IAEd,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,EAAE;QACzD,MAAM;QACN,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;IAE7B,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACX,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,GAAG,mBAAmB,CAAC,IAAI,EAAE,wBAAwB,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,EAAE,CACpD,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAU,EAAE,IAAc,EAAE,EAAE,CACjE,OAAO,CAAC,QAAQ,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAc,EAAE,EAAE,CACzD,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/handlers/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAe1D,KAAK,UAAU,OAAO,CACpB,MAAwB,EACxB,IAAY,EACZ,IAAc;IAEd,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE,EAAE;QACzD,MAAM;QACN,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,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,mBAAmB,CAAC,IAAI,EAAE,wBAAwB,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAE,EAAE,CACpD,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAU,EAAE,IAAc,EAAE,EAAE,CACjE,OAAO,CAAC,QAAQ,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAc,EAAE,EAAE,CACzD,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { AuthTransport } from "../transport.js";
1
2
  import type { ResultFailure } from "../result.js";
2
3
  import type { CookiePayload } from "../ensureCookies.js";
3
4
  export interface SwitchOrganizationInput {
@@ -5,12 +6,14 @@ export interface SwitchOrganizationInput {
5
6
  authorization?: string;
6
7
  serviceAuthorization?: string;
7
8
  forwardedClientIp?: string;
9
+ forwardedUserAgent?: string;
8
10
  }
9
11
  export interface SwitchOrganizationOptions {
10
12
  authServerUrl: string;
11
13
  audience: string;
12
14
  cookieDomain?: string;
13
15
  accessCookieName: string;
16
+ transport?: AuthTransport;
14
17
  }
15
18
  export interface SwitchOrganizationResult extends ResultFailure {
16
19
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"switchOrganizationHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/switchOrganizationHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D,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,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAqCnC"}
1
+ {"version":3,"file":"switchOrganizationHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/switchOrganizationHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAyB,SAAQ,aAAa;IAC7D,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,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAsCnC"}
@@ -1,5 +1,5 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- import { issueSessionCookies, withoutSessionMaterial, } from "../upstreamSession.js";
2
+ import { sessionResult } from "../upstreamSession.js";
3
3
  import { readPassthroughFailure } from "../upstreamError.js";
4
4
  export async function switchOrganizationHandler(input, opts) {
5
5
  const up = await authFetch(`${opts.authServerUrl}/organizations/${encodeURIComponent(input.organizationId)}/switch`, {
@@ -7,6 +7,7 @@ export async function switchOrganizationHandler(input, opts) {
7
7
  authorization: input.authorization,
8
8
  serviceAuthorization: input.serviceAuthorization,
9
9
  forwardedClientIp: input.forwardedClientIp,
10
+ forwardedUserAgent: input.forwardedUserAgent,
10
11
  });
11
12
  const data = await up.json();
12
13
  if (!up.ok) {
@@ -23,13 +24,13 @@ export async function switchOrganizationHandler(input, opts) {
23
24
  }
24
25
  return {
25
26
  status: up.status,
26
- body: withoutSessionMaterial(data),
27
- setCookies: await issueSessionCookies(data, {
27
+ ...(await sessionResult(data, {
28
28
  authServerUrl: opts.authServerUrl,
29
29
  audience: opts.audience,
30
30
  accessCookieName: opts.accessCookieName,
31
31
  cookieDomain: opts.cookieDomain,
32
- }),
32
+ transport: opts.transport,
33
+ })),
33
34
  };
34
35
  }
35
36
  //# sourceMappingURL=switchOrganizationHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switchOrganizationHandler.js","sourceRoot":"","sources":["../../src/handlers/switchOrganizationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA6B7D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAA8B,EAC9B,IAA+B;IAE/B,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EACxF;QACE,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,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,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;QAClC,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,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"switchOrganizationHandler.js","sourceRoot":"","sources":["../../src/handlers/switchOrganizationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA+B7D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAA8B,EAC9B,IAA+B;IAE/B,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,kBAAkB,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EACxF;QACE,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,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,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/B,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE;YAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -4,6 +4,7 @@ export interface SystemConfigOptions {
4
4
  authorization?: string;
5
5
  serviceAuthorization?: string;
6
6
  forwardedClientIp?: string;
7
+ forwardedUserAgent?: string;
7
8
  }
8
9
  export interface SystemConfigResult extends ResultFailure {
9
10
  status: number;
@@ -17,7 +18,7 @@ export interface SystemConfigResult extends ResultFailure {
17
18
  * header would make the call fail exactly when it is needed. Upstream serves it
18
19
  * unauthenticated for the same reason.
19
20
  */
20
- export declare function getPublicSystemConfigHandler(opts: Pick<SystemConfigOptions, "authServerUrl" | "forwardedClientIp">): Promise<SystemConfigResult>;
21
+ export declare function getPublicSystemConfigHandler(opts: Pick<SystemConfigOptions, "authServerUrl" | "forwardedClientIp" | "forwardedUserAgent">): Promise<SystemConfigResult>;
21
22
  export declare function getAvailableRolesHandler(opts: SystemConfigOptions): Promise<SystemConfigResult>;
22
23
  export declare function getSystemConfigAdminHandler(opts: SystemConfigOptions): Promise<SystemConfigResult>;
23
24
  export declare function updateSystemConfigHandler(opts: SystemConfigOptions & {
@@ -1 +1 @@
1
- {"version":3,"file":"systemConfig.d.ts","sourceRoot":"","sources":["../../src/handlers/systemConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,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,GAAG,CAAC;CACZ;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,mBAAmB,CAAC,GACrE,OAAO,CAAC,kBAAkB,CAAC,CAmB7B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,mBAAmB,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CAsB7B"}
1
+ {"version":3,"file":"systemConfig.d.ts","sourceRoot":"","sources":["../../src/handlers/systemConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,CACR,mBAAmB,EACnB,eAAe,GAAG,mBAAmB,GAAG,oBAAoB,CAC7D,GACA,OAAO,CAAC,kBAAkB,CAAC,CAoB7B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,mBAAmB,GAAG;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CAuB7B"}
@@ -12,6 +12,7 @@ export async function getPublicSystemConfigHandler(opts) {
12
12
  const up = await authFetch(`${opts.authServerUrl}/system-config/public`, {
13
13
  method: "GET",
14
14
  forwardedClientIp: opts.forwardedClientIp,
15
+ forwardedUserAgent: opts.forwardedUserAgent,
15
16
  });
16
17
  const data = await up.json();
17
18
  if (!up.ok) {
@@ -31,6 +32,7 @@ export async function getAvailableRolesHandler(opts) {
31
32
  authorization: opts.authorization,
32
33
  serviceAuthorization: opts.serviceAuthorization,
33
34
  forwardedClientIp: opts.forwardedClientIp,
35
+ forwardedUserAgent: opts.forwardedUserAgent,
34
36
  });
35
37
  const data = await up.json();
36
38
  if (!up.ok) {
@@ -50,6 +52,7 @@ export async function getSystemConfigAdminHandler(opts) {
50
52
  authorization: opts.authorization,
51
53
  serviceAuthorization: opts.serviceAuthorization,
52
54
  forwardedClientIp: opts.forwardedClientIp,
55
+ forwardedUserAgent: opts.forwardedUserAgent,
53
56
  });
54
57
  const data = await up.json();
55
58
  if (!up.ok) {
@@ -70,6 +73,7 @@ export async function updateSystemConfigHandler(opts) {
70
73
  body: opts.payload,
71
74
  serviceAuthorization: opts.serviceAuthorization,
72
75
  forwardedClientIp: opts.forwardedClientIp,
76
+ forwardedUserAgent: opts.forwardedUserAgent,
73
77
  });
74
78
  const data = await up.json();
75
79
  if (!up.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"systemConfig.js","sourceRoot":"","sources":["../../src/handlers/systemConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"systemConfig.js","sourceRoot":"","sources":["../../src/handlers/systemConfig.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AuthTransport } from "../transport.js";
1
2
  import type { ResultFailure } from "../result.js";
2
3
  import type { CookiePayload } from "../ensureCookies.js";
3
4
  export interface VerifyLoginOtpInput {
@@ -5,6 +6,7 @@ export interface VerifyLoginOtpInput {
5
6
  authorization?: string;
6
7
  serviceAuthorization?: string;
7
8
  forwardedClientIp?: string;
9
+ forwardedUserAgent?: string;
8
10
  kind: "email" | "phone";
9
11
  }
10
12
  export interface VerifyLoginOtpOptions {
@@ -13,6 +15,7 @@ export interface VerifyLoginOtpOptions {
13
15
  cookieDomain?: string;
14
16
  accessCookieName: string;
15
17
  refreshCookieName: string;
18
+ transport?: AuthTransport;
16
19
  }
17
20
  export interface VerifyLoginOtpResult extends ResultFailure {
18
21
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyLoginOtpHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/verifyLoginOtpHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,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,oBAAqB,SAAQ,aAAa;IACzD,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;AAiDD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAO/B;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAK/B"}
1
+ {"version":3,"file":"verifyLoginOtpHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/verifyLoginOtpHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,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,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,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;AAkDD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAO/B;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAK/B"}
@@ -1,5 +1,5 @@
1
1
  import { authFetch } from "../authFetch.js";
2
- import { issueSessionCookies, withoutSessionMaterial, } from "../upstreamSession.js";
2
+ import { sessionResult } from "../upstreamSession.js";
3
3
  import { readPassthroughFailure } from "../upstreamError.js";
4
4
  // Shared by the login and registration OTP verify handlers: POST to the given
5
5
  // auth-server path and, when the response carries a session, validate the signed
@@ -13,6 +13,7 @@ async function verifyOtp(path, input, opts) {
13
13
  authorization: input.authorization,
14
14
  serviceAuthorization: input.serviceAuthorization,
15
15
  forwardedClientIp: input.forwardedClientIp,
16
+ forwardedUserAgent: input.forwardedUserAgent,
16
17
  });
17
18
  const data = await up.json();
18
19
  if (!up.ok) {
@@ -29,14 +30,14 @@ async function verifyOtp(path, input, opts) {
29
30
  }
30
31
  return {
31
32
  status: up.status,
32
- body: withoutSessionMaterial(data),
33
- setCookies: await issueSessionCookies(data, {
33
+ ...(await sessionResult(data, {
34
34
  authServerUrl: opts.authServerUrl,
35
35
  audience: opts.audience,
36
36
  accessCookieName: opts.accessCookieName,
37
37
  refreshCookieName: opts.refreshCookieName,
38
38
  cookieDomain: opts.cookieDomain,
39
- }),
39
+ transport: opts.transport,
40
+ })),
40
41
  };
41
42
  }
42
43
  export async function verifyLoginOtpHandler(input, opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"verifyLoginOtpHandler.js","sourceRoot":"","sources":["../../src/handlers/verifyLoginOtpHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AA+B7D,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,yEAAyE;AACzE,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,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,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;QAClC,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;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,OAAO;QACpB,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,4BAA4B,CAAC;IAEnC,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAE3E,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"verifyLoginOtpHandler.js","sourceRoot":"","sources":["../../src/handlers/verifyLoginOtpHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAiC7D,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,yEAAyE;AACzE,KAAK,UAAU,SAAS,CACtB,IAAY,EACZ,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,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,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE;YAC5B,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;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,OAAO;QACpB,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,4BAA4B,CAAC;IAEnC,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAA0B,EAC1B,IAA2B;IAE3B,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAE3E,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -6,6 +6,7 @@ export interface VerifyMagicLinkOptions {
6
6
  authServerUrl: string;
7
7
  serviceAuthorization?: string;
8
8
  forwardedClientIp?: string;
9
+ forwardedUserAgent?: string;
9
10
  }
10
11
  export interface VerifyMagicLinkResult extends ResultFailure {
11
12
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyMagicLinkHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/verifyMagicLinkHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAuBhC"}
1
+ {"version":3,"file":"verifyMagicLinkHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/verifyMagicLinkHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAwBhC"}
@@ -5,6 +5,7 @@ export async function verifyMagicLinkHandler(input, opts) {
5
5
  method: "GET",
6
6
  serviceAuthorization: opts.serviceAuthorization,
7
7
  forwardedClientIp: opts.forwardedClientIp,
8
+ forwardedUserAgent: opts.forwardedUserAgent,
8
9
  });
9
10
  const data = await up.json();
10
11
  if (!up.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"verifyMagicLinkHandler.js","sourceRoot":"","sources":["../../src/handlers/verifyMagicLinkHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAkB7D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAA2B,EAC3B,IAA4B;IAE5B,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAC5E;QACE,MAAM,EAAE,KAAK;QACb,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,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
+ {"version":3,"file":"verifyMagicLinkHandler.js","sourceRoot":"","sources":["../../src/handlers/verifyMagicLinkHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAmB7D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAA2B,EAC3B,IAA4B;IAE5B,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,GAAG,IAAI,CAAC,aAAa,sBAAsB,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAC5E;QACE,MAAM,EAAE,KAAK;QACb,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,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;KACX,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from "./ensureCookies.js";
5
5
  export * from "./verifyCookieJwt.js";
6
6
  export * from "./verifyRefreshCookie.js";
7
7
  export * from "./verifySignedAuthResponse.js";
8
+ export * from "./verifyAccessToken.js";
8
9
  export * from "./refreshAccessToken.js";
9
10
  export * from "./getSeamlessUser.js";
10
11
  export * from "./logger.js";
@@ -13,6 +14,7 @@ export * from "./createServiceToken.js";
13
14
  export * from "./validateSecrets.js";
14
15
  export { hasScopedRole, roleGrantsAccess, } from "@seamless-auth/types/role/matching";
15
16
  export * from "./apiContract.js";
17
+ export * from "./transport.js";
16
18
  export * from "./applyResult.js";
17
19
  export * from "./proxyRequest.js";
18
20
  export * from "./result.js";
@@ -23,6 +25,7 @@ export * from "./handlers/finishLogin.js";
23
25
  export * from "./handlers/register.js";
24
26
  export * from "./handlers/finishRegister.js";
25
27
  export * from "./handlers/logout.js";
28
+ export * from "./handlers/refresh.js";
26
29
  export * from "./handlers/me.js";
27
30
  export * from "./handlers/requestOtpHandler.js";
28
31
  export * from "./handlers/verifyLoginOtpHandler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAKrC,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAKrC,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./ensureCookies.js";
5
5
  export * from "./verifyCookieJwt.js";
6
6
  export * from "./verifyRefreshCookie.js";
7
7
  export * from "./verifySignedAuthResponse.js";
8
+ export * from "./verifyAccessToken.js";
8
9
  export * from "./refreshAccessToken.js";
9
10
  export * from "./getSeamlessUser.js";
10
11
  export * from "./logger.js";
@@ -17,6 +18,7 @@ export * from "./validateSecrets.js";
17
18
  // is the zod-free one, so importing core does not pull zod or the schema barrel.
18
19
  export { hasScopedRole, roleGrantsAccess, } from "@seamless-auth/types/role/matching";
19
20
  export * from "./apiContract.js";
21
+ export * from "./transport.js";
20
22
  export * from "./applyResult.js";
21
23
  export * from "./proxyRequest.js";
22
24
  export * from "./result.js";
@@ -27,6 +29,7 @@ export * from "./handlers/finishLogin.js";
27
29
  export * from "./handlers/register.js";
28
30
  export * from "./handlers/finishRegister.js";
29
31
  export * from "./handlers/logout.js";
32
+ export * from "./handlers/refresh.js";
30
33
  export * from "./handlers/me.js";
31
34
  export * from "./handlers/requestOtpHandler.js";
32
35
  export * from "./handlers/verifyLoginOtpHandler.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,OAAO,EACL,aAAa,EACb,gBAAgB,GACjB,MAAM,oCAAoC,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC"}
package/dist/jwks.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { createRemoteJWKSet } from "jose";
2
+ export declare function getAuthServerJwks(authServerUrl: string): ReturnType<typeof createRemoteJWKSet>;
3
+ //# sourceMappingURL=jwks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwks.d.ts","sourceRoot":"","sources":["../src/jwks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAO1C,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,GACpB,UAAU,CAAC,OAAO,kBAAkB,CAAC,CASvC"}
package/dist/jwks.js ADDED
@@ -0,0 +1,15 @@
1
+ import { createRemoteJWKSet } from "jose";
2
+ // jose caches keys and applies a refetch cooldown per JWKS instance, so the instance
3
+ // must outlive a single call. Memoize per JWKS URL (one per auth server, so the map
4
+ // stays tiny) instead of building a fresh, empty-cache instance on every verification.
5
+ const jwksByUrl = new Map();
6
+ export function getAuthServerJwks(authServerUrl) {
7
+ const jwksUrl = new URL("/.well-known/jwks.json", authServerUrl).toString();
8
+ let jwks = jwksByUrl.get(jwksUrl);
9
+ if (!jwks) {
10
+ jwks = createRemoteJWKSet(new URL(jwksUrl));
11
+ jwksByUrl.set(jwksUrl, jwks);
12
+ }
13
+ return jwks;
14
+ }
15
+ //# sourceMappingURL=jwks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwks.js","sourceRoot":"","sources":["../src/jwks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE1C,qFAAqF;AACrF,oFAAoF;AACpF,uFAAuF;AACvF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiD,CAAC;AAE3E,MAAM,UAAU,iBAAiB,CAC/B,aAAqB;IAErB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5E,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { AppliableResult } from "./applyResult.js";
2
2
  import { type AuthFetchOptions } from "./authFetch.js";
3
+ import type { AuthTransport } from "./transport.js";
3
4
  /**
4
5
  * Query parameters to forward upstream.
5
6
  *
@@ -27,6 +28,9 @@ export interface ProxyIdentityInput {
27
28
  accessCookieName: string;
28
29
  preAuthCookieName: string;
29
30
  registrationCookieName: string;
31
+ transport?: AuthTransport;
32
+ /** The raw `Authorization` header, read in bearer transport. */
33
+ authorization?: string;
30
34
  }
31
35
  export interface ProxyIdentityRejection {
32
36
  status: number;
@@ -38,8 +42,11 @@ export interface ProxyIdentityRejection {
38
42
  * Checks that a request carries the session a proxied route requires.
39
43
  *
40
44
  * Returns the rejection to send, or `undefined` when the request may proceed.
41
- * The cookie payload alone is not enough: it survives a refresh, so the route
42
- * also has to see the specific cookie for the identity it needs.
45
+ * In cookie transport the cookie payload alone is not enough: it survives a
46
+ * refresh, so the route also has to see the specific cookie for the identity it
47
+ * needs. In bearer transport the client presents the token for the identity
48
+ * itself, and the auth API is the one that checks which kind it is, so the
49
+ * adapter only insists that one was sent.
43
50
  */
44
51
  export declare function checkProxyIdentity(input: ProxyIdentityInput): ProxyIdentityRejection | undefined;
45
52
  export interface ProxyRequestOptions {
@@ -49,6 +56,7 @@ export interface ProxyRequestOptions {
49
56
  authorization?: string;
50
57
  serviceAuthorization?: string;
51
58
  forwardedClientIp?: string;
59
+ forwardedUserAgent?: string;
52
60
  query?: QueryInput;
53
61
  body?: unknown;
54
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxyRequest.d.ts","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAUjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAiB3D;AAED,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,UAAU,GACjB,MAAM,CAKR;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,GACxB,sBAAsB,GAAG,SAAS,CAwBpC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,eAAe,CAAC,CAe1B"}
1
+ {"version":3,"file":"proxyRequest.d.ts","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAUjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,CAiB3D;AAED,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,UAAU,GACjB,MAAM,CAKR;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,kBAAkB,GACxB,sBAAsB,GAAG,SAAS,CA0BpC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,eAAe,CAAC,CAgB1B"}
@@ -1,4 +1,5 @@
1
1
  import { authFetch } from "./authFetch.js";
2
+ import { extractBearerToken } from "./verifyAccessToken.js";
2
3
  function isScalar(value) {
3
4
  return (typeof value === "string" ||
4
5
  typeof value === "number" ||
@@ -33,14 +34,28 @@ export function buildUpstreamUrl(authServerUrl, path, query) {
33
34
  const qs = buildQueryString(query);
34
35
  return qs ? `${base}?${qs}` : base;
35
36
  }
37
+ const IDENTITY_REQUIRED = {
38
+ access: "access session required",
39
+ preAuth: "pre-auth session required",
40
+ register: "registration session required",
41
+ };
36
42
  /**
37
43
  * Checks that a request carries the session a proxied route requires.
38
44
  *
39
45
  * Returns the rejection to send, or `undefined` when the request may proceed.
40
- * The cookie payload alone is not enough: it survives a refresh, so the route
41
- * also has to see the specific cookie for the identity it needs.
46
+ * In cookie transport the cookie payload alone is not enough: it survives a
47
+ * refresh, so the route also has to see the specific cookie for the identity it
48
+ * needs. In bearer transport the client presents the token for the identity
49
+ * itself, and the auth API is the one that checks which kind it is, so the
50
+ * adapter only insists that one was sent.
42
51
  */
43
52
  export function checkProxyIdentity(input) {
53
+ const error = IDENTITY_REQUIRED[input.identity];
54
+ if (input.transport === "bearer") {
55
+ return extractBearerToken(input.authorization)
56
+ ? undefined
57
+ : { status: 401, errorCode: error };
58
+ }
44
59
  if (!input.subject) {
45
60
  return {
46
61
  status: 401,
@@ -48,19 +63,14 @@ export function checkProxyIdentity(input) {
48
63
  warn: "Missing expected cookie payload/sub.",
49
64
  };
50
65
  }
51
- const required = {
52
- access: { name: input.accessCookieName, error: "access session required" },
53
- preAuth: {
54
- name: input.preAuthCookieName,
55
- error: "pre-auth session required",
56
- },
57
- register: {
58
- name: input.registrationCookieName,
59
- error: "registration session required",
60
- },
66
+ const cookieName = {
67
+ access: input.accessCookieName,
68
+ preAuth: input.preAuthCookieName,
69
+ register: input.registrationCookieName,
61
70
  };
62
- const { name, error } = required[input.identity];
63
- return input.cookies[name] ? undefined : { status: 401, errorCode: error };
71
+ return input.cookies[cookieName[input.identity]]
72
+ ? undefined
73
+ : { status: 401, errorCode: error };
64
74
  }
65
75
  /**
66
76
  * Forwards a request to the auth API and returns its status and body unchanged.
@@ -75,6 +85,7 @@ export async function proxyRequest(opts) {
75
85
  authorization: opts.authorization,
76
86
  serviceAuthorization: opts.serviceAuthorization,
77
87
  forwardedClientIp: opts.forwardedClientIp,
88
+ forwardedUserAgent: opts.forwardedUserAgent,
78
89
  ...(method === "GET" ? {} : { body: opts.body }),
79
90
  });
80
91
  return { status: upstream.status, body: await upstream.json() };
@@ -1 +1 @@
1
- {"version":3,"file":"proxyRequest.js","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAYlE,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,CAC3B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,QAAQ,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,aAAqB,EACrB,IAAY,EACZ,KAAkB;IAElB,MAAM,IAAI,GAAG,GAAG,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC;IACzE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAqBD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAyB;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,yBAAyB;YACpC,IAAI,EAAE,sCAAsC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAA2D;QACvE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE;QAC1E,OAAO,EAAE;YACP,IAAI,EAAE,KAAK,CAAC,iBAAiB;YAC7B,KAAK,EAAE,2BAA2B;SACnC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,sBAAsB;YAClC,KAAK,EAAE,+BAA+B;SACvC;KACF,CAAC;IAEF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC7E,CAAC;AAaD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAyB;IAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAErC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAC3D;QACE,MAAM;QACN,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KACjD,CACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"proxyRequest.js","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface RefreshAccessTokenOptions {
6
6
  audience: string;
7
7
  keyId: string;
8
8
  forwardedClientIp?: string;
9
+ forwardedUserAgent?: string;
9
10
  }
10
11
  type RefreshAccessTokenResult = {
11
12
  sub: string;
@@ -20,5 +21,24 @@ type RefreshAccessTokenResult = {
20
21
  refreshTtl: number;
21
22
  };
22
23
  export declare function refreshAccessToken(refreshCookie: string, opts: RefreshAccessTokenOptions): Promise<RefreshAccessTokenResult | null>;
24
+ export interface RefreshBearerSessionOptions {
25
+ authServerUrl: string;
26
+ serviceAuthorization?: string;
27
+ forwardedClientIp?: string;
28
+ forwardedUserAgent?: string;
29
+ }
30
+ export interface RefreshBearerSessionResult {
31
+ status: number;
32
+ /** The auth API's body: the rotated session on success, its error otherwise. */
33
+ body: unknown;
34
+ }
35
+ /**
36
+ * Rotates a session for a bearer client, which holds the raw refresh token.
37
+ *
38
+ * Unlike the cookie path this returns the auth API's failure as-is, because the
39
+ * client reads it: `refresh_token_reused` means the chain is gone and the user
40
+ * must sign in again, which is a different outcome from a transient failure.
41
+ */
42
+ export declare function refreshBearerSession(refreshToken: string, opts: RefreshBearerSessionOptions): Promise<RefreshBearerSessionResult>;
23
43
  export {};
24
44
  //# sourceMappingURL=refreshAccessToken.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refreshAccessToken.d.ts","sourceRoot":"","sources":["../src/refreshAccessToken.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAkCF,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAyD1C"}
1
+ {"version":3,"file":"refreshAccessToken.d.ts","sourceRoot":"","sources":["../src/refreshAccessToken.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,KAAK,wBAAwB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA6EF,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CA2B1C;AAWD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,0BAA0B,CAAC,CA8BrC"}