@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.
- package/README.md +16 -2
- package/dist/applyResult.d.ts +11 -1
- package/dist/applyResult.d.ts.map +1 -1
- package/dist/applyResult.js +3 -1
- package/dist/applyResult.js.map +1 -1
- package/dist/authFetch.d.ts +1 -0
- package/dist/authFetch.d.ts.map +1 -1
- package/dist/authFetch.js +3 -0
- package/dist/authFetch.js.map +1 -1
- package/dist/ensureCookies.d.ts +1 -0
- package/dist/ensureCookies.d.ts.map +1 -1
- package/dist/ensureCookies.js +3 -0
- package/dist/ensureCookies.js.map +1 -1
- package/dist/getSeamlessUser.d.ts +15 -2
- package/dist/getSeamlessUser.d.ts.map +1 -1
- package/dist/getSeamlessUser.js +29 -10
- package/dist/getSeamlessUser.js.map +1 -1
- package/dist/guards.d.ts +39 -0
- package/dist/guards.d.ts.map +1 -1
- package/dist/guards.js +63 -0
- package/dist/guards.js.map +1 -1
- package/dist/handlers/admin.d.ts +1 -0
- package/dist/handlers/admin.d.ts.map +1 -1
- package/dist/handlers/admin.js +1 -0
- package/dist/handlers/admin.js.map +1 -1
- package/dist/handlers/finishLogin.d.ts +3 -0
- package/dist/handlers/finishLogin.d.ts.map +1 -1
- package/dist/handlers/finishLogin.js +5 -4
- package/dist/handlers/finishLogin.js.map +1 -1
- package/dist/handlers/finishRegister.d.ts +1 -0
- package/dist/handlers/finishRegister.d.ts.map +1 -1
- package/dist/handlers/finishRegister.js +1 -0
- package/dist/handlers/finishRegister.js.map +1 -1
- package/dist/handlers/internalMetrics.d.ts +3 -0
- package/dist/handlers/internalMetrics.d.ts.map +1 -1
- package/dist/handlers/internalMetrics.js +3 -0
- package/dist/handlers/internalMetrics.js.map +1 -1
- package/dist/handlers/login.d.ts +14 -5
- package/dist/handlers/login.d.ts.map +1 -1
- package/dist/handlers/login.js +7 -1
- package/dist/handlers/login.js.map +1 -1
- package/dist/handlers/logout.d.ts +1 -0
- package/dist/handlers/logout.d.ts.map +1 -1
- package/dist/handlers/logout.js +1 -0
- package/dist/handlers/logout.js.map +1 -1
- package/dist/handlers/me.d.ts +1 -0
- package/dist/handlers/me.d.ts.map +1 -1
- package/dist/handlers/me.js +1 -0
- package/dist/handlers/me.js.map +1 -1
- package/dist/handlers/oauthHandlers.d.ts +3 -0
- package/dist/handlers/oauthHandlers.d.ts.map +1 -1
- package/dist/handlers/oauthHandlers.js +6 -4
- package/dist/handlers/oauthHandlers.js.map +1 -1
- package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts +3 -0
- package/dist/handlers/pollMagicLinkConfirmationHandler.d.ts.map +1 -1
- package/dist/handlers/pollMagicLinkConfirmationHandler.js +5 -4
- package/dist/handlers/pollMagicLinkConfirmationHandler.js.map +1 -1
- package/dist/handlers/refresh.d.ts +44 -0
- package/dist/handlers/refresh.d.ts.map +1 -0
- package/dist/handlers/refresh.js +70 -0
- package/dist/handlers/refresh.js.map +1 -0
- package/dist/handlers/register.d.ts +3 -0
- package/dist/handlers/register.d.ts.map +1 -1
- package/dist/handlers/register.js +4 -0
- package/dist/handlers/register.js.map +1 -1
- package/dist/handlers/requestMagicLinkHandler.d.ts +1 -0
- package/dist/handlers/requestMagicLinkHandler.d.ts.map +1 -1
- package/dist/handlers/requestMagicLinkHandler.js +1 -0
- package/dist/handlers/requestMagicLinkHandler.js.map +1 -1
- package/dist/handlers/requestOtpHandler.d.ts +1 -0
- package/dist/handlers/requestOtpHandler.d.ts.map +1 -1
- package/dist/handlers/requestOtpHandler.js +1 -0
- package/dist/handlers/requestOtpHandler.js.map +1 -1
- package/dist/handlers/sessions.d.ts +1 -0
- package/dist/handlers/sessions.d.ts.map +1 -1
- package/dist/handlers/sessions.js +1 -0
- package/dist/handlers/sessions.js.map +1 -1
- package/dist/handlers/switchOrganizationHandler.d.ts +3 -0
- package/dist/handlers/switchOrganizationHandler.d.ts.map +1 -1
- package/dist/handlers/switchOrganizationHandler.js +5 -4
- package/dist/handlers/switchOrganizationHandler.js.map +1 -1
- package/dist/handlers/systemConfig.d.ts +2 -1
- package/dist/handlers/systemConfig.d.ts.map +1 -1
- package/dist/handlers/systemConfig.js +4 -0
- package/dist/handlers/systemConfig.js.map +1 -1
- package/dist/handlers/verifyLoginOtpHandler.d.ts +3 -0
- package/dist/handlers/verifyLoginOtpHandler.d.ts.map +1 -1
- package/dist/handlers/verifyLoginOtpHandler.js +5 -4
- package/dist/handlers/verifyLoginOtpHandler.js.map +1 -1
- package/dist/handlers/verifyMagicLinkHandler.d.ts +1 -0
- package/dist/handlers/verifyMagicLinkHandler.d.ts.map +1 -1
- package/dist/handlers/verifyMagicLinkHandler.js +1 -0
- package/dist/handlers/verifyMagicLinkHandler.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/jwks.d.ts +3 -0
- package/dist/jwks.d.ts.map +1 -0
- package/dist/jwks.js +15 -0
- package/dist/jwks.js.map +1 -0
- package/dist/proxyRequest.d.ts +10 -2
- package/dist/proxyRequest.d.ts.map +1 -1
- package/dist/proxyRequest.js +25 -14
- package/dist/proxyRequest.js.map +1 -1
- package/dist/refreshAccessToken.d.ts +20 -0
- package/dist/refreshAccessToken.d.ts.map +1 -1
- package/dist/refreshAccessToken.js +72 -21
- package/dist/refreshAccessToken.js.map +1 -1
- package/dist/transport.d.ts +20 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +12 -0
- package/dist/transport.js.map +1 -0
- package/dist/upstreamSession.d.ts +19 -0
- package/dist/upstreamSession.d.ts.map +1 -1
- package/dist/upstreamSession.js +20 -0
- package/dist/upstreamSession.js.map +1 -1
- package/dist/verifyAccessToken.d.ts +30 -0
- package/dist/verifyAccessToken.d.ts.map +1 -0
- package/dist/verifyAccessToken.js +44 -0
- package/dist/verifyAccessToken.js.map +1 -0
- package/dist/verifySignedAuthResponse.d.ts.map +1 -1
- package/dist/verifySignedAuthResponse.js +3 -16
- package/dist/verifySignedAuthResponse.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
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;
|
|
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":"
|
|
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 {
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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":"
|
|
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 {
|
|
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
|
-
|
|
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,
|
|
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"}
|
|
@@ -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;
|
|
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;
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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 @@
|
|
|
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
|
package/dist/jwks.js.map
ADDED
|
@@ -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"}
|
package/dist/proxyRequest.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
42
|
-
* also has to see the specific cookie for the identity it
|
|
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;
|
|
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"}
|
package/dist/proxyRequest.js
CHANGED
|
@@ -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
|
-
*
|
|
41
|
-
* also has to see the specific cookie for the identity it
|
|
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
|
|
52
|
-
access:
|
|
53
|
-
preAuth:
|
|
54
|
-
|
|
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
|
-
|
|
63
|
-
|
|
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() };
|
package/dist/proxyRequest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxyRequest.js","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"proxyRequest.js","sourceRoot":"","sources":["../src/proxyRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAY5D,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;AAwBD,MAAM,iBAAiB,GAAkC;IACvD,MAAM,EAAE,yBAAyB;IACjC,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE,+BAA+B;CAC1C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAyB;IAEzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,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,UAAU,GAAkC;QAChD,MAAM,EAAE,KAAK,CAAC,gBAAgB;QAC9B,OAAO,EAAE,KAAK,CAAC,iBAAiB;QAChC,QAAQ,EAAE,KAAK,CAAC,sBAAsB;KACvC,CAAC;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACxC,CAAC;AAcD;;;;;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,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,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"}
|
|
@@ -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;
|
|
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"}
|