@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
package/README.md CHANGED
@@ -88,13 +88,27 @@ remain for direct imports.
88
88
  **Sessions and cookies**
89
89
 
90
90
  - `ensureCookies(...)` – validates and refreshes session cookies
91
- - `refreshAccessToken(...)` – rotates expired access sessions
91
+ - `refreshAccessToken(...)` – rotates expired access sessions from a refresh cookie
92
+ - `refreshBearerSession(...)` – rotates a session from a raw refresh token, for bearer transport
93
+ - `refreshHandler(...)` – the `POST /refresh` route, in either transport
94
+ - `sessionResult(...)` – an upstream session as a handler result: cookies for cookie transport, the body whole for bearer
95
+ - `resolveAuthTransport(...)` / `AUTH_TRANSPORT_HEADER` – selects cookie or bearer transport for a request
92
96
  - `verifyCookieJwt(...)` – verifies signed cookie payloads
93
97
  - `verifyRefreshCookie(...)` – verifies a refresh cookie, returning `null` on failure
94
98
  - `verifySignedAuthResponse(...)` – verifies an auth API response signature against its JWKS
95
- - `getSeamlessUser(...)` – resolves the hydrated user, typed as `SeamlessUser | null`
99
+ - `verifyAccessToken(...)` – verifies an auth API access token against its JWKS, requiring `typ: "access"`
100
+ - `extractBearerToken(...)` – reads the token out of an `Authorization: Bearer` header
101
+ - `getSeamlessUser(...)` – resolves the hydrated user, typed as `SeamlessUser | null`, from a cookie or a bearer token
96
102
  - `hasScopedRole(...)` – checks scoped role grants such as `admin:read`
97
103
 
104
+ **Guards**
105
+
106
+ - `authenticateCookie(...)` – verifies an access cookie into a session
107
+ - `authenticateBearer(...)` – verifies a bearer access token into a session
108
+ - `authenticateRequest(...)` – the cookie when present, otherwise the bearer token when enabled
109
+ - `authorizeRoles(...)` – role check against an authenticated session
110
+ - `checkOrigin(...)` – cross-site request check for `SameSite=None` deployments
111
+
98
112
  **Building an adapter**
99
113
 
100
114
  - `applyResult(result, adapter, opts)` – turns a handler result into a response
@@ -1,5 +1,6 @@
1
1
  import type { CookiePayload } from "./ensureCookies.js";
2
2
  import type { ResultFailure } from "./result.js";
3
+ import type { AuthTransport } from "./transport.js";
3
4
  export type CookieSameSite = "lax" | "none" | "strict";
4
5
  export interface CookieSecurityOptions {
5
6
  cookieSecret: string;
@@ -7,6 +8,15 @@ export interface CookieSecurityOptions {
7
8
  cookieSecure?: boolean;
8
9
  cookieSameSite?: CookieSameSite;
9
10
  }
11
+ export interface ApplyResultOptions extends CookieSecurityOptions {
12
+ /**
13
+ * Bearer transport writes no cookies at all: the client holds its own tokens,
14
+ * and a `Set-Cookie` on a response it cannot store would be dead weight at
15
+ * best and, for a clear, a misleading signal that a session ended. Defaults
16
+ * to cookie transport.
17
+ */
18
+ transport?: AuthTransport;
19
+ }
10
20
  /**
11
21
  * Resolves the effective `SameSite` policy. Shared so the cookie attributes and
12
22
  * any policy that keys off `SameSite=None` cannot drift. Browsers reject
@@ -96,5 +106,5 @@ export declare function applyCookies(result: Pick<AppliableResult, "setCookies"
96
106
  * untouched; callers read fields off it. A failure carrying `errorCode` is this
97
107
  * package's own and is rendered as `{ error, details }`.
98
108
  */
99
- export declare function applyResult(result: AppliableResult, adapter: ResponseAdapter, opts: CookieSecurityOptions): void;
109
+ export declare function applyResult(result: AppliableResult, adapter: ResponseAdapter, opts: ApplyResultOptions): void;
100
110
  //# sourceMappingURL=applyResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"applyResult.d.ts","sourceRoot":"","sources":["../src/applyResult.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,gBAAgB,CAAC,GACnE,cAAc,CAGhB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,4DAA4D;IAC5D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,cAAc,CAAC,EAC5D,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,aAAa,CAAC,EAC3D,IAAI,EAAE,qBAAqB,GAC1B,IAAI,CAsCN;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,qBAAqB,GAC1B,IAAI,CAmBN"}
1
+ {"version":3,"file":"applyResult.d.ts","sourceRoot":"","sources":["../src/applyResult.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,gBAAgB,CAAC,GACnE,cAAc,CAGhB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,4DAA4D;IAC5D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,cAAc,CAAC,EAC5D,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,aAAa,CAAC,EAC3D,IAAI,EAAE,qBAAqB,GAC1B,IAAI,CAsCN;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,kBAAkB,GACvB,IAAI,CAqBN"}
@@ -103,7 +103,9 @@ export function applyCookies(result, adapter, opts) {
103
103
  * package's own and is rendered as `{ error, details }`.
104
104
  */
105
105
  export function applyResult(result, adapter, opts) {
106
- applyCookies(result, adapter, opts);
106
+ if (opts.transport !== "bearer") {
107
+ applyCookies(result, adapter, opts);
108
+ }
107
109
  if (result.errorBody !== undefined) {
108
110
  adapter.send(result.status, result.errorBody);
109
111
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"applyResult.js","sourceRoot":"","sources":["../src/applyResult.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applyResult.js","sourceRoot":"","sources":["../src/applyResult.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface AuthFetchOptions {
5
5
  authorization?: string;
6
6
  serviceAuthorization?: string;
7
7
  forwardedClientIp?: string;
8
+ forwardedUserAgent?: string;
8
9
  }
9
10
  export declare function authFetch(url: string, options: AuthFetchOptions): Promise<Response>;
10
11
  //# sourceMappingURL=authFetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authFetch.d.ts","sourceRoot":"","sources":["../src/authFetch.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAoBnB"}
1
+ {"version":3,"file":"authFetch.d.ts","sourceRoot":"","sources":["../src/authFetch.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,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,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAuBnB"}
package/dist/authFetch.js CHANGED
@@ -9,6 +9,9 @@ export async function authFetch(url, options) {
9
9
  ...(options.forwardedClientIp
10
10
  ? { "x-seamless-client-ip": options.forwardedClientIp }
11
11
  : {}),
12
+ ...(options.forwardedUserAgent
13
+ ? { "x-seamless-client-user-agent": options.forwardedUserAgent }
14
+ : {}),
12
15
  };
13
16
  const response = await fetch(url, {
14
17
  method: options.method,
@@ -1 +1 @@
1
- {"version":3,"file":"authFetch.js","sourceRoot":"","sources":["../src/authFetch.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,OAAyB;IAEzB,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAG,OAAO,CAAC,OAAO;QAClB,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB;YAC9B,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,oBAAoB,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,iBAAiB;YAC3B,CAAC,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,uFAAuF;AACvF,qFAAqF;AACrF,iFAAiF;AACjF,gDAAgD;AAChD,EAAE;AACF,wEAAwE;AACxE,wFAAwF;AACxF,uFAAuF;AACvF,+EAA+E;AAC/E,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"authFetch.js","sourceRoot":"","sources":["../src/authFetch.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,OAAyB;IAEzB,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAG,OAAO,CAAC,OAAO;QAClB,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB;YAC9B,CAAC,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,oBAAoB,EAAE;YAC9D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,iBAAiB;YAC3B,CAAC,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,iBAAiB,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,kBAAkB;YAC5B,CAAC,CAAC,EAAE,8BAA8B,EAAE,OAAO,CAAC,kBAAkB,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,uFAAuF;AACvF,qFAAqF;AACrF,iFAAiF;AACjF,gDAAgD;AAChD,EAAE;AACF,wEAAwE;AACxE,wFAAwF;AACxF,uFAAuF;AACvF,+EAA+E;AAC/E,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -44,6 +44,7 @@ export interface EnsureCookiesOptions {
44
44
  audience: string;
45
45
  keyId: string;
46
46
  forwardedClientIp?: string;
47
+ forwardedUserAgent?: string;
47
48
  }
48
49
  export declare function ensureCookies(input: EnsureCookiesInput, opts: EnsureCookiesOptions): Promise<EnsureCookiesResult>;
49
50
  //# sourceMappingURL=ensureCookies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCookies.d.ts","sourceRoot":"","sources":["../src/ensureCookies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,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;AAuND,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
1
+ {"version":3,"file":"ensureCookies.d.ts","sourceRoot":"","sources":["../src/ensureCookies.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,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;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,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;AA0ND,wBAAsB,aAAa,CACjC,KAAK,EAAE,kBAAkB,EACzB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
@@ -84,6 +84,8 @@ const COOKIE_REQUIREMENTS = {
84
84
  "/totp/disable": { name: "accessCookieName", required: true },
85
85
  "/totp/verify-mfa": { name: "accessCookieName", required: true },
86
86
  "/internal/metrics/dashboard": { name: "accessCookieName", required: true },
87
+ "/internal/metrics/funnel": { name: "accessCookieName", required: true },
88
+ "/internal/metrics/sign-ins": { name: "accessCookieName", required: true },
87
89
  "/internal/auth-events/summary": {
88
90
  name: "accessCookieName",
89
91
  required: true,
@@ -144,6 +146,7 @@ async function refreshRequiredCookie(cookieName, refreshCookie, opts) {
144
146
  audience: opts.audience,
145
147
  keyId: opts.keyId,
146
148
  forwardedClientIp: opts.forwardedClientIp,
149
+ forwardedUserAgent: opts.forwardedUserAgent,
147
150
  });
148
151
  if (!refreshed?.token) {
149
152
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ensureCookies.js","sourceRoot":"","sources":["../src/ensureCookies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensureCookies.js","sourceRoot":"","sources":["../src/ensureCookies.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,25 @@ export interface GetSeamlessUserOptions {
20
20
  cookieName?: string;
21
21
  serviceAuthorization?: string;
22
22
  forwardedClientIp?: string;
23
+ forwardedUserAgent?: string;
24
+ /**
25
+ * Enables the bearer path for a request that carries no access cookie: the
26
+ * auth API's own access token in `Authorization: Bearer`, verified against the
27
+ * API's JWKS before it is forwarded. Left out, only the cookie is consulted.
28
+ */
29
+ bearer?: {
30
+ /** The request's raw `Authorization` header. */
31
+ authorization?: string;
32
+ /** Expected `aud` on the access token. The issuer is `authServerUrl`. */
33
+ audience: string;
34
+ };
23
35
  }
24
36
  /**
25
- * Resolves the authenticated Seamless Auth user from an access cookie.
37
+ * Resolves the authenticated Seamless Auth user from the request's credential.
26
38
  *
27
39
  * This function:
28
- * - Verifies the access cookie locally
40
+ * - Verifies the access cookie locally, or the bearer access token against JWKS
41
+ * when there is no cookie and `bearer` is configured
29
42
  * - Uses the verified token to authenticate a request to the auth server
30
43
  * - Returns the canonical user object, or null if authentication fails
31
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"getSeamlessUser.d.ts","sourceRoot":"","sources":["../src/getSeamlessUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMnD;;;;;GAKG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,CAAC,GAAG,YAAY,EACpD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAsBnB"}
1
+ {"version":3,"file":"getSeamlessUser.d.ts","sourceRoot":"","sources":["../src/getSeamlessUser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOnD;;;;;GAKG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACP,gDAAgD;QAChD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,yEAAyE;QACzE,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,CAAC,GAAG,YAAY,EACpD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAkBnB"}
@@ -1,11 +1,13 @@
1
- import { verifyCookieJwt } from "./verifyCookieJwt.js";
2
1
  import { authFetch } from "./authFetch.js";
3
2
  import { assertSecretStrength } from "./validateSecrets.js";
3
+ import { extractBearerToken, verifyAccessToken } from "./verifyAccessToken.js";
4
+ import { verifyCookieJwt } from "./verifyCookieJwt.js";
4
5
  /**
5
- * Resolves the authenticated Seamless Auth user from an access cookie.
6
+ * Resolves the authenticated Seamless Auth user from the request's credential.
6
7
  *
7
8
  * This function:
8
- * - Verifies the access cookie locally
9
+ * - Verifies the access cookie locally, or the bearer access token against JWKS
10
+ * when there is no cookie and `bearer` is configured
9
11
  * - Uses the verified token to authenticate a request to the auth server
10
12
  * - Returns the canonical user object, or null if authentication fails
11
13
  *
@@ -13,22 +15,39 @@ import { assertSecretStrength } from "./validateSecrets.js";
13
15
  */
14
16
  export async function getSeamlessUser(cookies, opts) {
15
17
  assertSecretStrength("cookieSecret", opts.cookieSecret);
16
- const cookieName = opts.cookieName ?? "seamless-access";
17
- const token = cookies[cookieName];
18
- if (!token)
19
- return null;
20
- const payload = verifyCookieJwt(token, opts.cookieSecret);
21
- if (!payload)
18
+ const authorization = await resolveUpstreamAuthorization(cookies, opts);
19
+ if (authorization === null)
22
20
  return null;
23
21
  const response = await authFetch(`${opts.authServerUrl}/users/me`, {
24
22
  method: "GET",
25
- authorization: opts.authorization,
23
+ authorization,
26
24
  serviceAuthorization: opts.serviceAuthorization,
27
25
  forwardedClientIp: opts.forwardedClientIp,
26
+ forwardedUserAgent: opts.forwardedUserAgent,
28
27
  });
29
28
  if (!response.ok)
30
29
  return null;
31
30
  const data = await response.json();
32
31
  return data?.user ?? null;
33
32
  }
33
+ /**
34
+ * `null` means the request carried nothing that verifies. `undefined` keeps the
35
+ * cookie path's historical shape: a verified cookie with no caller-supplied
36
+ * `authorization` still reaches the auth server, which decides for itself.
37
+ */
38
+ async function resolveUpstreamAuthorization(cookies, opts) {
39
+ const cookieName = opts.cookieName ?? "seamless-access";
40
+ const cookie = cookies[cookieName];
41
+ if (cookie) {
42
+ const payload = verifyCookieJwt(cookie, opts.cookieSecret);
43
+ return payload ? opts.authorization : null;
44
+ }
45
+ if (!opts.bearer)
46
+ return null;
47
+ const token = extractBearerToken(opts.bearer.authorization);
48
+ if (!token)
49
+ return null;
50
+ const claims = await verifyAccessToken(token, opts.authServerUrl, opts.bearer.audience);
51
+ return claims ? `Bearer ${token}` : null;
52
+ }
34
53
  //# sourceMappingURL=getSeamlessUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSeamlessUser.js","sourceRoot":"","sources":["../src/getSeamlessUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AA0B5D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA2C,EAC3C,IAA4B;IAE5B,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,WAAW,EAAE;QACjE,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,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"getSeamlessUser.js","sourceRoot":"","sources":["../src/getSeamlessUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAsCvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA2C,EAC3C,IAA4B;IAE5B,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,MAAM,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxE,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,WAAW,EAAE;QACjE,MAAM,EAAE,KAAK;QACb,aAAa;QACb,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,4BAA4B,CACzC,OAA2C,EAC3C,IAA4B;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,KAAK,EACL,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CACrB,CAAC;IAEF,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC"}
package/dist/guards.d.ts CHANGED
@@ -62,6 +62,45 @@ export type CookieAuthResult = {
62
62
  * there.
63
63
  */
64
64
  export declare function authenticateCookie(input: CookieAuthInput): CookieAuthResult;
65
+ export interface BearerAuthInput {
66
+ /** The raw `Authorization` header, or `undefined` when the request carried none. */
67
+ authorization?: string;
68
+ authServerUrl: string;
69
+ /** Expected `aud` on the access token. The issuer is `authServerUrl`. */
70
+ audience: string;
71
+ }
72
+ export type AuthResult = CookieAuthResult;
73
+ /**
74
+ * Verifies an access token the auth API issued, carried as `Authorization:
75
+ * Bearer`, into a session.
76
+ *
77
+ * This is the path a native client takes: it has no cookie jar, so it holds the
78
+ * API's own access token and presents it directly. The token carries `sub`,
79
+ * `roles` and the session id but not the profile, so `email` and `phone` are
80
+ * left unset; `getSeamlessUser` hydrates them.
81
+ */
82
+ export declare function authenticateBearer(input: BearerAuthInput): Promise<AuthResult>;
83
+ export interface RequestAuthInput extends CookieAuthInput {
84
+ /** The raw `Authorization` header, or `undefined` when the request carried none. */
85
+ authorization?: string;
86
+ /**
87
+ * Enables bearer tokens. Left out, the guard accepts cookies only, which is
88
+ * what every adopter predating this option gets.
89
+ */
90
+ bearer?: {
91
+ authServerUrl: string;
92
+ audience: string;
93
+ };
94
+ }
95
+ /**
96
+ * Authenticates a request from whichever credential it carries.
97
+ *
98
+ * The cookie wins when present, including when it is invalid: a browser with a
99
+ * stale cookie should see the session rejected rather than fall through to a
100
+ * header it never meant to send. Bearer is only consulted when there is no
101
+ * cookie at all and the adopter has opted in.
102
+ */
103
+ export declare function authenticateRequest(input: RequestAuthInput): Promise<AuthResult>;
65
104
  /**
66
105
  * Authorization only, against a session a guard has already authenticated.
67
106
  *
@@ -1 +1 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAK9E;;;;;;;GAOG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,gBAAgB,GACtB,cAAc,GAAG,SAAS,CAyC5B;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GACjD;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAgC3E;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,GAC/B,cAAc,GAAG,SAAS,CAoB5B"}
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAM9E;;;;;;;GAOG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,gBAAgB,GACtB,cAAc,GAAG,SAAS,CAyC5B;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GACjD;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAgC3E;AAED,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAU1C;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,UAAU,CAAC,CAmBrB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,gBAAgB,GAAG,SAAS,EAClC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,GAC/B,cAAc,GAAG,SAAS,CAoB5B"}
package/dist/guards.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { resolveCookieSameSite } from "./applyResult.js";
2
2
  import { hasScopedRole } from "@seamless-auth/types/role/matching";
3
3
  import { assertSecretStrength } from "./validateSecrets.js";
4
+ import { extractBearerToken, verifyAccessToken } from "./verifyAccessToken.js";
4
5
  import { verifyCookieJwt } from "./verifyCookieJwt.js";
5
6
  // GET/HEAD are read-only and OPTIONS is the CORS preflight, so none can carry a
6
7
  // state change worth gating.
@@ -88,6 +89,68 @@ export function authenticateCookie(input) {
88
89
  },
89
90
  };
90
91
  }
92
+ function missingTokenRejection(warn) {
93
+ return {
94
+ status: 401,
95
+ errorCode: "Failed to find authentication token required",
96
+ warn,
97
+ };
98
+ }
99
+ /**
100
+ * Verifies an access token the auth API issued, carried as `Authorization:
101
+ * Bearer`, into a session.
102
+ *
103
+ * This is the path a native client takes: it has no cookie jar, so it holds the
104
+ * API's own access token and presents it directly. The token carries `sub`,
105
+ * `roles` and the session id but not the profile, so `email` and `phone` are
106
+ * left unset; `getSeamlessUser` hydrates them.
107
+ */
108
+ export async function authenticateBearer(input) {
109
+ const token = extractBearerToken(input.authorization);
110
+ if (!token) {
111
+ return {
112
+ rejection: missingTokenRejection("Missing expected Authorization bearer token."),
113
+ };
114
+ }
115
+ const claims = await verifyAccessToken(token, input.authServerUrl, input.audience);
116
+ if (!claims) {
117
+ return {
118
+ rejection: { status: 401, errorCode: "Invalid or expired session" },
119
+ };
120
+ }
121
+ return {
122
+ user: {
123
+ id: claims.sub,
124
+ roles: Array.isArray(claims.roles) ? claims.roles : [],
125
+ iat: claims.iat,
126
+ exp: claims.exp,
127
+ token,
128
+ },
129
+ };
130
+ }
131
+ /**
132
+ * Authenticates a request from whichever credential it carries.
133
+ *
134
+ * The cookie wins when present, including when it is invalid: a browser with a
135
+ * stale cookie should see the session rejected rather than fall through to a
136
+ * header it never meant to send. Bearer is only consulted when there is no
137
+ * cookie at all and the adopter has opted in.
138
+ */
139
+ export async function authenticateRequest(input) {
140
+ if (input.token || !input.bearer) {
141
+ return authenticateCookie(input);
142
+ }
143
+ assertSecretStrength("requireAuth: cookieSecret", input.cookieSecret);
144
+ if (!extractBearerToken(input.authorization)) {
145
+ return {
146
+ rejection: missingTokenRejection("Missing expected auth cookie or Authorization bearer token."),
147
+ };
148
+ }
149
+ return authenticateBearer({
150
+ authorization: input.authorization,
151
+ ...input.bearer,
152
+ });
153
+ }
91
154
  /**
92
155
  * Authorization only, against a session a guard has already authenticated.
93
156
  *
@@ -1 +1 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ type BaseOpts = {
5
5
  authorization?: string;
6
6
  serviceAuthorization?: string;
7
7
  forwardedClientIp?: string;
8
+ forwardedUserAgent?: string;
8
9
  };
9
10
  type WithQuery = BaseOpts & {
10
11
  query?: QueryInput;
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/handlers/admin.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,QAAQ,GAAG,QAAQ,GAAG;IACzB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,KAAK,MAAM,GAAG,aAAa,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAiCF,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,oBACT,CAAC;AAEvC,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,oBACT,CAAC;AAExC,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,oBACP,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACM,CAAC;AAEvE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAErE,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACQ,CAAC;AAE/E,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,oBACR,CAAC;AAE7C,eAAO,MAAM,yBAAyB,GAAI,MAAM,QAAQ,oBACP,CAAC;AAElD,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,oBACb,CAAC;AAE1C,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAExE,eAAO,MAAM,wBAAwB,GAAI,IAAI,MAAM,EAAE,MAAM,QAAQ,oBACS,CAAC;AAE7E,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBAKxE,CAAC;AAEJ,eAAO,MAAM,sCAAsC,GACjD,QAAQ,MAAM,EACd,MAAM,QAAQ,oBAMb,CAAC"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/handlers/admin.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;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,SAAS,GAAG,QAAQ,GAAG;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,QAAQ,GAAG,QAAQ,GAAG;IACzB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,KAAK,MAAM,GAAG,aAAa,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAkCF,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,oBACT,CAAC;AAEvC,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,oBACT,CAAC;AAExC,eAAO,MAAM,iBAAiB,GAAI,MAAM,QAAQ,oBACP,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACM,CAAC;AAEvE,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAErE,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACQ,CAAC;AAE/E,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,oBACR,CAAC;AAE7C,eAAO,MAAM,yBAAyB,GAAI,MAAM,QAAQ,oBACP,CAAC;AAElD,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,oBACb,CAAC;AAE1C,eAAO,MAAM,uBAAuB,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBACC,CAAC;AAExE,eAAO,MAAM,wBAAwB,GAAI,IAAI,MAAM,EAAE,MAAM,QAAQ,oBACS,CAAC;AAE7E,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,EAAE,MAAM,QAAQ,oBAKxE,CAAC;AAEJ,eAAO,MAAM,sCAAsC,GACjD,QAAQ,MAAM,EACd,MAAM,QAAQ,oBAMb,CAAC"}
@@ -8,6 +8,7 @@ async function request(method, path, opts) {
8
8
  body: opts.body,
9
9
  serviceAuthorization: opts.serviceAuthorization,
10
10
  forwardedClientIp: opts.forwardedClientIp,
11
+ forwardedUserAgent: opts.forwardedUserAgent,
11
12
  });
12
13
  const data = await up.json();
13
14
  if (!up.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/handlers/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/handlers/admin.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;AAuB1D,KAAK,UAAU,OAAO,CACpB,MAA2C,EAC3C,IAAY,EACZ,IAA0B;IAE1B,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EACtD;QACE,MAAM;QACN,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,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,mBAAmB,CAAC,IAAI,EAAE,sBAAsB,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAE,EAAE,CACjD,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE,CAClD,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,EAAE,CAClD,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CAClE,OAAO,CAAC,OAAO,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACrE,OAAO,CAAC,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAErE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACxE,OAAO,CAAC,KAAK,EAAE,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,EAAE,CACtD,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAc,EAAE,EAAE,CAC1D,OAAO,CAAC,KAAK,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAe,EAAE,EAAE,CACxD,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CACxE,OAAO,CAAC,KAAK,EAAE,mBAAmB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAU,EAAE,IAAc,EAAE,EAAE,CACrE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAc,EAAE,IAAc,EAAE,EAAE,CAC7E,OAAO,CACL,QAAQ,EACR,mBAAmB,kBAAkB,CAAC,MAAM,CAAC,aAAa,EAC1D,IAAI,CACL,CAAC;AAEJ,MAAM,CAAC,MAAM,sCAAsC,GAAG,CACpD,MAAc,EACd,IAAc,EACd,EAAE,CACF,OAAO,CACL,MAAM,EACN,gBAAgB,kBAAkB,CAAC,MAAM,CAAC,8BAA8B,EACxE,IAAI,CACL,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 FinishLoginInput {
@@ -5,6 +6,7 @@ export interface FinishLoginInput {
5
6
  authorization?: string;
6
7
  serviceAuthorization?: string;
7
8
  forwardedClientIp?: string;
9
+ forwardedUserAgent?: string;
8
10
  }
9
11
  export interface FinishLoginOptions {
10
12
  authServerUrl: string;
@@ -12,6 +14,7 @@ export interface FinishLoginOptions {
12
14
  cookieDomain?: string;
13
15
  accessCookieName: string;
14
16
  refreshCookieName: string;
17
+ transport?: AuthTransport;
15
18
  }
16
19
  export interface FinishLoginResult extends ResultFailure {
17
20
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"finishLogin.d.ts","sourceRoot":"","sources":["../../src/handlers/finishLogin.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,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,iBAAkB,SAAQ,aAAa;IACtD,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,kBAAkB,CACtC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CA6B5B"}
1
+ {"version":3,"file":"finishLogin.d.ts","sourceRoot":"","sources":["../../src/handlers/finishLogin.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,gBAAgB;IAC/B,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;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,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,iBAAkB,SAAQ,aAAa;IACtD,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,kBAAkB,CACtC,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,iBAAiB,CAAC,CA8B5B"}
@@ -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 finishLoginHandler(input, opts) {
5
5
  const up = await authFetch(`${opts.authServerUrl}/webAuthn/login/finish`, {
@@ -8,6 +8,7 @@ export async function finishLoginHandler(input, opts) {
8
8
  authorization: input.authorization,
9
9
  serviceAuthorization: input.serviceAuthorization,
10
10
  forwardedClientIp: input.forwardedClientIp,
11
+ forwardedUserAgent: input.forwardedUserAgent,
11
12
  });
12
13
  const data = await up.json();
13
14
  if (!up.ok) {
@@ -18,14 +19,14 @@ export async function finishLoginHandler(input, opts) {
18
19
  }
19
20
  return {
20
21
  status: 200,
21
- body: withoutSessionMaterial(data),
22
- setCookies: await issueSessionCookies(data, {
22
+ ...(await sessionResult(data, {
23
23
  authServerUrl: opts.authServerUrl,
24
24
  audience: opts.audience,
25
25
  accessCookieName: opts.accessCookieName,
26
26
  refreshCookieName: opts.refreshCookieName,
27
27
  cookieDomain: opts.cookieDomain,
28
- }),
28
+ transport: opts.transport,
29
+ })),
29
30
  };
30
31
  }
31
32
  //# sourceMappingURL=finishLogin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"finishLogin.js","sourceRoot":"","sources":["../../src/handlers/finishLogin.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;AA8B7D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAuB,EACvB,IAAwB;IAExB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,EAAE;QACxE,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,OAAO;QACL,MAAM,EAAE,GAAG;QACX,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"}
1
+ {"version":3,"file":"finishLogin.js","sourceRoot":"","sources":["../../src/handlers/finishLogin.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;AAgC7D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAuB,EACvB,IAAwB;IAExB,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,wBAAwB,EAAE;QACxE,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,OAAO;QACL,MAAM,EAAE,GAAG;QACX,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"}
@@ -5,6 +5,7 @@ export interface FinishRegisterInput {
5
5
  body: unknown;
6
6
  serviceAuthorization?: string;
7
7
  forwardedClientIp?: string;
8
+ forwardedUserAgent?: string;
8
9
  }
9
10
  export interface FinishRegisterOptions {
10
11
  authServerUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"finishRegister.d.ts","sourceRoot":"","sources":["../../src/handlers/finishRegister.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAyB/B"}
1
+ {"version":3,"file":"finishRegister.d.ts","sourceRoot":"","sources":["../../src/handlers/finishRegister.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CA0B/B"}
@@ -8,6 +8,7 @@ export async function finishRegisterHandler(input, opts) {
8
8
  body: input.body,
9
9
  serviceAuthorization: input.serviceAuthorization,
10
10
  forwardedClientIp: input.forwardedClientIp,
11
+ forwardedUserAgent: input.forwardedUserAgent,
11
12
  });
12
13
  const data = await up.json();
13
14
  if (!up.ok) {