@schemavaults/auth-common 0.22.3 → 0.22.5
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/dist/app-to-api-connection-errors.d.ts +15 -0
- package/dist/app-to-api-connection-errors.js +22 -0
- package/dist/app-to-api-connection-errors.js.map +1 -0
- package/dist/audience-schema.d.ts +18 -2
- package/dist/audience-schema.js +5 -10
- package/dist/audience-schema.js.map +1 -1
- package/dist/auth_acquire_tokens_grant_types.d.ts +3 -2
- package/dist/auth_acquire_tokens_grant_types.js +7 -7
- package/dist/auth_acquire_tokens_grant_types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/request_tokens_result.d.ts +3 -2
- package/dist/request_tokens_result.js +5 -5
- package/dist/request_tokens_result.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by the auth client SDK when the auth server rejects an app-to-API
|
|
3
|
+
* connection request with a 409 Conflict because the connection already
|
|
4
|
+
* exists. Lives in auth-common so UI layers can recognize the case without
|
|
5
|
+
* depending on the client SDK directly.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AppAlreadyConnectedToApiServerError extends Error {
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Prefer this over a bare `instanceof` check: it also matches by error name,
|
|
12
|
+
* so it keeps working if a bundler ends up with duplicate copies of
|
|
13
|
+
* auth-common (e.g. in an external resource server).
|
|
14
|
+
*/
|
|
15
|
+
export declare function isAppAlreadyConnectedToApiServerError(e: unknown): e is AppAlreadyConnectedToApiServerError;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by the auth client SDK when the auth server rejects an app-to-API
|
|
3
|
+
* connection request with a 409 Conflict because the connection already
|
|
4
|
+
* exists. Lives in auth-common so UI layers can recognize the case without
|
|
5
|
+
* depending on the client SDK directly.
|
|
6
|
+
*/
|
|
7
|
+
export class AppAlreadyConnectedToApiServerError extends Error {
|
|
8
|
+
constructor(message = "This app is already connected to this API server.") {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "AppAlreadyConnectedToApiServerError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Prefer this over a bare `instanceof` check: it also matches by error name,
|
|
15
|
+
* so it keeps working if a bundler ends up with duplicate copies of
|
|
16
|
+
* auth-common (e.g. in an external resource server).
|
|
17
|
+
*/
|
|
18
|
+
export function isAppAlreadyConnectedToApiServerError(e) {
|
|
19
|
+
return (e instanceof AppAlreadyConnectedToApiServerError ||
|
|
20
|
+
(e instanceof Error && e.name === "AppAlreadyConnectedToApiServerError"));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=app-to-api-connection-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-to-api-connection-errors.js","sourceRoot":"","sources":["../src/app-to-api-connection-errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,mCAAoC,SAAQ,KAAK;IAC5D,YAAY,OAAO,GAAG,mDAAmD;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAC;IACpD,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CACnD,CAAU;IAEV,OAAO,CACL,CAAC,YAAY,mCAAmC;QAChD,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,qCAAqC,CAAC,CACzE,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { type SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
2
2
|
import type { z as zod } from "zod";
|
|
3
|
-
export
|
|
4
|
-
|
|
3
|
+
export interface AudienceSchemaOverrides {
|
|
4
|
+
/**
|
|
5
|
+
* The auth server's public URL. Browser bundles can't read the
|
|
6
|
+
* SCHEMAVAULTS_AUTH_SERVER_URL environment variable (they'd silently
|
|
7
|
+
* resolve the per-environment default), so client-side callers must inject
|
|
8
|
+
* the URL their auth client was configured with. Server-side callers can
|
|
9
|
+
* omit it to resolve from the environment.
|
|
10
|
+
*/
|
|
11
|
+
auth_server_url?: string;
|
|
12
|
+
/**
|
|
13
|
+
* The auth server deployment's own app id. Same story as auth_server_url:
|
|
14
|
+
* client-side callers must inject their configured value in white-label
|
|
15
|
+
* deployments; server-side callers can omit it.
|
|
16
|
+
*/
|
|
17
|
+
auth_server_app_id?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function createAudienceSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodUnion<[zod.ZodEffects<zod.ZodString, string, string>, zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>, string, string>]>;
|
|
20
|
+
export declare function createAudienceListSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodArray<zod.ZodUnion<[zod.ZodEffects<zod.ZodString, string, string>, zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>, string, string>]>, "many">;
|
package/dist/audience-schema.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { apiServerIdSchema, getAppEnvironment, getAuthServerAppId, getAuthServerUrl, } from "@schemavaults/app-definitions";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// concerns; eager module-scope initialization breaks `next build` in Docker
|
|
6
|
-
// where those env vars are unset.
|
|
7
|
-
export function createAudienceSchema(z, environment = getAppEnvironment()) {
|
|
8
|
-
const auth_server_url = getAuthServerUrl(environment);
|
|
9
|
-
const auth_server_app_id = getAuthServerAppId();
|
|
2
|
+
export function createAudienceSchema(z, environment = getAppEnvironment(), overrides) {
|
|
3
|
+
const auth_server_url = overrides?.auth_server_url ?? getAuthServerUrl(environment);
|
|
4
|
+
const auth_server_app_id = overrides?.auth_server_app_id ?? getAuthServerAppId();
|
|
10
5
|
const authServerUrlSchema = z
|
|
11
6
|
.string()
|
|
12
7
|
.url()
|
|
@@ -20,8 +15,8 @@ export function createAudienceSchema(z, environment = getAppEnvironment()) {
|
|
|
20
15
|
return z.union([authServerUrlSchema, apiServerIdWithoutAuthServerIdSchema]);
|
|
21
16
|
}
|
|
22
17
|
const MAX_APPS_IN_AUDIENCE_LIST = 10;
|
|
23
|
-
export function createAudienceListSchema(z, environment = getAppEnvironment()) {
|
|
24
|
-
return createAudienceSchema(z, environment)
|
|
18
|
+
export function createAudienceListSchema(z, environment = getAppEnvironment(), overrides) {
|
|
19
|
+
return createAudienceSchema(z, environment, overrides)
|
|
25
20
|
.array()
|
|
26
21
|
.min(1, "Audience list may not be empty")
|
|
27
22
|
.max(MAX_APPS_IN_AUDIENCE_LIST, `Audience list may not contain more than ${MAX_APPS_IN_AUDIENCE_LIST} audience references.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audience-schema.js","sourceRoot":"","sources":["../src/audience-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"audience-schema.js","sourceRoot":"","sources":["../src/audience-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AA0BvC,MAAM,UAAU,oBAAoB,CAClC,CAAa,EACb,cAA0C,iBAAiB,EAAE,EAC7D,SAAmC;IAEnC,MAAM,eAAe,GACnB,SAAS,EAAE,eAAe,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GACtB,SAAS,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;IAExD,MAAM,mBAAmB,GAAG,CAAC;SAC1B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,MAAM,CAAC,CAAC,GAAG,EAAiC,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC;SACvE,QAAQ,CAAC,8DAA8D,CAAC,CAAC;IAE5E,MAAM,oCAAoC,GAAG,iBAAiB;SAC3D,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACb,OAAO,EAAE,KAAK,kBAAkB,CAAC;IACnC,CAAC,EAAE,iBAAiB,kBAAkB,qGAAqG,CAAC;SAC3I,QAAQ,CACP,4CAA4C,kBAAkB,iBAAiB,CAChF,CAAC;IAEJ,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,mBAAmB,EAAE,oCAAoC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,yBAAyB,GAAG,EAA4B,CAAC;AAE/D,MAAM,UAAU,wBAAwB,CACtC,CAAa,EACb,cAA0C,iBAAiB,EAAE,EAC7D,SAAmC;IAEnC,OAAO,oBAAoB,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC;SACnD,KAAK,EAAE;SACP,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,GAAG,CACF,yBAAyB,EACzB,2CAA2C,yBAAyB,uBAAuB,CAC5F,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { z as zod } from "zod";
|
|
2
|
+
import { type AudienceSchemaOverrides } from "./audience-schema";
|
|
2
3
|
import { SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
3
4
|
export declare const grant_types: readonly ["authorization_code", "refresh_token"];
|
|
4
|
-
export declare function createAuthorizationCodePOSTBodySchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment): zod.ZodObject<{
|
|
5
|
+
export declare function createAuthorizationCodePOSTBodySchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodObject<{
|
|
5
6
|
code: zod.ZodString;
|
|
6
7
|
challenge_time: zod.ZodNumber;
|
|
7
8
|
code_verifier: zod.ZodEffects<zod.ZodString, string, string>;
|
|
@@ -26,7 +27,7 @@ export declare function createAuthorizationCodePOSTBodySchema(z: typeof zod, env
|
|
|
26
27
|
grant_type: "authorization_code";
|
|
27
28
|
redirect_uri?: string | null | undefined;
|
|
28
29
|
}>;
|
|
29
|
-
export declare function createRefreshTokenPOSTBodySchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment): zod.ZodObject<{
|
|
30
|
+
export declare function createRefreshTokenPOSTBodySchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodObject<{
|
|
30
31
|
audience: zod.ZodUnion<[zod.ZodUnion<[zod.ZodEffects<zod.ZodString, string, string>, zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>, string, string>]>, zod.ZodArray<zod.ZodUnion<[zod.ZodEffects<zod.ZodString, string, string>, zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>, string, string>]>, "many">]>;
|
|
31
32
|
client_app_id: zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>;
|
|
32
33
|
grant_type: zod.ZodLiteral<"refresh_token">;
|
|
@@ -5,17 +5,17 @@ export const grant_types = [
|
|
|
5
5
|
"authorization_code",
|
|
6
6
|
"refresh_token",
|
|
7
7
|
];
|
|
8
|
-
function createTokenEndpointBaseSchema(z, environment = getAppEnvironment()) {
|
|
8
|
+
function createTokenEndpointBaseSchema(z, environment = getAppEnvironment(), overrides) {
|
|
9
9
|
return z.object({
|
|
10
10
|
audience: z.union([
|
|
11
|
-
createAudienceSchema(z, environment),
|
|
12
|
-
createAudienceListSchema(z, environment),
|
|
11
|
+
createAudienceSchema(z, environment, overrides),
|
|
12
|
+
createAudienceListSchema(z, environment, overrides),
|
|
13
13
|
]),
|
|
14
14
|
client_app_id: appIdSchema,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
export function createAuthorizationCodePOSTBodySchema(z, environment = getAppEnvironment()) {
|
|
18
|
-
return createTokenEndpointBaseSchema(z, environment)
|
|
17
|
+
export function createAuthorizationCodePOSTBodySchema(z, environment = getAppEnvironment(), overrides) {
|
|
18
|
+
return createTokenEndpointBaseSchema(z, environment, overrides)
|
|
19
19
|
.extend({
|
|
20
20
|
grant_type: z.literal("authorization_code"),
|
|
21
21
|
code: z.string().min(64).max(1024).base64url(),
|
|
@@ -40,8 +40,8 @@ export function createAuthorizationCodePOSTBodySchema(z, environment = getAppEnv
|
|
|
40
40
|
})
|
|
41
41
|
.strict();
|
|
42
42
|
}
|
|
43
|
-
export function createRefreshTokenPOSTBodySchema(z, environment = getAppEnvironment()) {
|
|
44
|
-
return createTokenEndpointBaseSchema(z, environment)
|
|
43
|
+
export function createRefreshTokenPOSTBodySchema(z, environment = getAppEnvironment(), overrides) {
|
|
44
|
+
return createTokenEndpointBaseSchema(z, environment, overrides)
|
|
45
45
|
.extend({
|
|
46
46
|
grant_type: z.literal("refresh_token"),
|
|
47
47
|
replaceRefreshToo: z.boolean().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth_acquire_tokens_grant_types.js","sourceRoot":"","sources":["../src/auth_acquire_tokens_grant_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,
|
|
1
|
+
{"version":3,"file":"auth_acquire_tokens_grant_types.js","sourceRoot":"","sources":["../src/auth_acquire_tokens_grant_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAEL,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,oBAAoB;IACpB,eAAe;CACqB,CAAC;AAEvC,SAAS,6BAA6B,CACpC,CAAa,EACb,cAA0C,iBAAiB,EAAE,EAC7D,SAAmC;IAEnC,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC;YAChB,oBAAoB,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC;YAC/C,wBAAwB,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC;SACpD,CAAC;QACF,aAAa,EAAE,WAAW;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,CAAa,EACb,cAA0C,iBAAiB,EAAE,EAC7D,SAAmC;IAEnC,OAAO,6BAA6B,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC;SAC5D,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE;QAC9C,aAAa,EAAE,oBAAoB,CAAC,mBAAmB;QACvD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;QACxC,8DAA8D;QAC9D,mEAAmE;QACnE,iEAAiE;QACjE,6DAA6D;QAC7D,+DAA+D;QAC/D,kEAAkE;QAClE,qCAAqC;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KACrD,CAAC;SACD,QAAQ,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;KACrB,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,CAAa,EACb,cAA0C,iBAAiB,EAAE,EAC7D,SAAmC;IAEnC,OAAO,6BAA6B,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC;SAC5D,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QACtC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC1C,CAAC;SACD,QAAQ,CAAC;QACR,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;KACpB,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { ERROR_MESSAGE_CATALOG, isValidErrorId, } from "./auth-error-message-catalog";
|
|
2
2
|
export type { SchemaVaultsAuthErrorId } from "./auth-error-message-catalog";
|
|
3
|
+
export { AppAlreadyConnectedToApiServerError, isAppAlreadyConnectedToApiServerError, } from "./app-to-api-connection-errors";
|
|
3
4
|
export { userDataSchema, type UserData } from "./user_data";
|
|
4
5
|
export * from "./credentials";
|
|
5
6
|
export type * from "./credentials";
|
|
@@ -21,6 +22,7 @@ export type * from "./auth_acquire_tokens_grant_types";
|
|
|
21
22
|
export { getAuthServerUrl } from "@schemavaults/app-definitions";
|
|
22
23
|
export { appIdSchema } from "@schemavaults/app-definitions";
|
|
23
24
|
export { createAudienceSchema, createAudienceListSchema, } from "./audience-schema";
|
|
25
|
+
export type { AudienceSchemaOverrides } from "./audience-schema";
|
|
24
26
|
export { inviteCodeFormatSchema, inviteCodeDefinitionSchema, } from "./invite-code";
|
|
25
27
|
export type { InviteCode, InviteCodeDefinition } from "./invite-code";
|
|
26
28
|
export { organizationIdSchema, isValidOrganizationID, RESERVED_ORGANIZATION_IDS, organizationDefinitionSchema, getHardcodedOrgs, getAuthServerOwnerOrganizationId, DEFAULT_AUTH_SERVER_OWNER_ORGANIZATION_ID, getAuthServerOwnerOrganizationName, DEFAULT_AUTH_SERVER_OWNER_ORGANIZATION_NAME, MAXIMUM_USER_ORGANIZATIONS, MINIMUM_ORGANIZATION_ID_LENGTH, MAXIMUM_ORGANIZATION_ID_LENGTH, inviteMemberInputModes, inviteMemberFormSchema, organizationInvitationStatusTypes, organizationInvitationStatusSchema, organizationInvitationSchema, organizationMembershipRoleTypes, organizationMembershipRoleTypeSchema, isValidOrganizationMembershipRoleType, organizationMembershipRoleDetailsSchema, isValidOrganizationMembershipRoleDetails, } from "./organizations";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { ERROR_MESSAGE_CATALOG, isValidErrorId, } from "./auth-error-message-catalog";
|
|
2
|
+
export { AppAlreadyConnectedToApiServerError, isAppAlreadyConnectedToApiServerError, } from "./app-to-api-connection-errors";
|
|
2
3
|
export { userDataSchema } from "./user_data";
|
|
3
4
|
export * from "./credentials";
|
|
4
5
|
// Shapes of tokens
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;AAE5D,cAAc,eAAe,CAAC;AAG9B,mBAAmB;AACnB,cAAc,cAAc,CAAC;AAM7B,cAAc,cAAc,CAAC;AAG7B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,wCAAwC,EACxC,wBAAwB,EACxB,uBAAuB,GAOxB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,OAAO,CAAC;AACtB,OAAO,EACL,+BAA+B,EAE/B,6CAA6C,GAE9C,MAAM,yBAAyB,CAAC;AAEjC,cAAc,mCAAmC,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,cAAc,EAAiB,MAAM,aAAa,CAAC;AAE5D,cAAc,eAAe,CAAC;AAG9B,mBAAmB;AACnB,cAAc,cAAc,CAAC;AAM7B,cAAc,cAAc,CAAC;AAG7B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,mCAAmC,EACnC,+BAA+B,EAC/B,wCAAwC,EACxC,wBAAwB,EACxB,uBAAuB,GAOxB,MAAM,uBAAuB,CAAC;AAE/B,cAAc,OAAO,CAAC;AACtB,OAAO,EACL,+BAA+B,EAE/B,6CAA6C,GAE9C,MAAM,yBAAyB,CAAC;AAEjC,cAAc,mCAAmC,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,gBAAgB,EAChB,gCAAgC,EAChC,yCAAyC,EACzC,kCAAkC,EAClC,2CAA2C,EAC3C,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC5B,+BAA+B,EAC/B,oCAAoC,EACpC,qCAAqC,EACrC,uCAAuC,EACvC,wCAAwC,GACzC,MAAM,iBAAiB,CAAC;AAezB,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,wCAAwC,EAAE,MAAM,4CAA4C,CAAC;AAEtG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAE9F,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qCAAqC,EACrC,gCAAgC,GACjC,MAAM,mCAAmC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { z as zod } from "zod";
|
|
2
|
+
import { type AudienceSchemaOverrides } from "./audience-schema";
|
|
2
3
|
import { type SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
3
|
-
export declare function createSuccessfullyGeneratedTokensRecordSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment): zod.ZodEffects<zod.ZodEffects<zod.ZodObject<{
|
|
4
|
+
export declare function createSuccessfullyGeneratedTokensRecordSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodEffects<zod.ZodEffects<zod.ZodObject<{
|
|
4
5
|
access: zod.ZodOptional<zod.ZodRecord<zod.ZodUnion<[zod.ZodEffects<zod.ZodString, string, string>, zod.ZodEffects<zod.ZodEffects<zod.ZodEffects<zod.ZodString, string, string>, string, string>, string, string>]>, zod.ZodUnion<[zod.ZodObject<{
|
|
5
6
|
uid: zod.ZodString;
|
|
6
7
|
iat: zod.ZodNumber;
|
|
@@ -176,7 +177,7 @@ export declare function createSuccessfullyGeneratedTokensRecordSchema(z: typeof
|
|
|
176
177
|
refresh_token_expiry?: number | undefined;
|
|
177
178
|
}>;
|
|
178
179
|
export type SuccessfullyGeneratedTokensRecord = zod.infer<ReturnType<typeof createSuccessfullyGeneratedTokensRecordSchema>>;
|
|
179
|
-
export declare function createRequestTokensResultSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment): zod.ZodUnion<[zod.ZodObject<{
|
|
180
|
+
export declare function createRequestTokensResultSchema(z: typeof zod, environment?: SchemaVaultsAppEnvironment, overrides?: AudienceSchemaOverrides): zod.ZodUnion<[zod.ZodObject<{
|
|
180
181
|
message: zod.ZodString;
|
|
181
182
|
success: zod.ZodLiteral<false>;
|
|
182
183
|
error: zod.ZodLiteral<true>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { userDataSchema } from "./user_data";
|
|
2
2
|
import { accessTokenDataSchema, refreshTokenDataSchema } from "./token-data";
|
|
3
|
-
import { createAudienceSchema } from "./audience-schema";
|
|
3
|
+
import { createAudienceSchema, } from "./audience-schema";
|
|
4
4
|
import { organizationIdSchema } from "./organizations";
|
|
5
5
|
import { oidcNonceSchema } from "./oidc/nonce";
|
|
6
6
|
import { appIdSchema, getAppEnvironment, } from "@schemavaults/app-definitions";
|
|
@@ -8,13 +8,13 @@ import { appIdSchema, getAppEnvironment, } from "@schemavaults/app-definitions";
|
|
|
8
8
|
// constants) because the audience schema depends on the app environment and
|
|
9
9
|
// auth-server URL, which must be resolved at call time. Eager module-scope
|
|
10
10
|
// initialization breaks `next build` in Docker where those env vars are unset.
|
|
11
|
-
export function createSuccessfullyGeneratedTokensRecordSchema(z, environment = getAppEnvironment()) {
|
|
11
|
+
export function createSuccessfullyGeneratedTokensRecordSchema(z, environment = getAppEnvironment(), overrides) {
|
|
12
12
|
return z
|
|
13
13
|
.object({
|
|
14
14
|
access: z
|
|
15
15
|
.record(
|
|
16
16
|
// map of audience (app id, fs region, or auth server url) to token for that audience
|
|
17
|
-
createAudienceSchema(z, environment), z.union([accessTokenDataSchema, z.literal("AS_HTTP_ONLY_COOKIE")]))
|
|
17
|
+
createAudienceSchema(z, environment, overrides), z.union([accessTokenDataSchema, z.literal("AS_HTTP_ONLY_COOKIE")]))
|
|
18
18
|
.optional(),
|
|
19
19
|
refresh: z
|
|
20
20
|
.union([refreshTokenDataSchema, z.literal("AS_HTTP_ONLY_COOKIE")])
|
|
@@ -43,14 +43,14 @@ export function createSuccessfullyGeneratedTokensRecordSchema(z, environment = g
|
|
|
43
43
|
return true;
|
|
44
44
|
}, "Passing 'refresh_token_expiry' is redundant when refresh token is passed as an object!");
|
|
45
45
|
}
|
|
46
|
-
export function createRequestTokensResultSchema(z, environment = getAppEnvironment()) {
|
|
46
|
+
export function createRequestTokensResultSchema(z, environment = getAppEnvironment(), overrides) {
|
|
47
47
|
const requestTokensSuccessfulResultSchema = z
|
|
48
48
|
.object({
|
|
49
49
|
success: z.literal(true),
|
|
50
50
|
error: z.literal(false),
|
|
51
51
|
message: z.string(),
|
|
52
52
|
client_app_id: appIdSchema,
|
|
53
|
-
tokens: createSuccessfullyGeneratedTokensRecordSchema(z, environment).optional(),
|
|
53
|
+
tokens: createSuccessfullyGeneratedTokensRecordSchema(z, environment, overrides).optional(),
|
|
54
54
|
userData: userDataSchema.optional(),
|
|
55
55
|
userOrgs: organizationIdSchema.array().optional(),
|
|
56
56
|
// Echo of the login-time replay nonce bound to the redeemed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request_tokens_result.js","sourceRoot":"","sources":["../src/request_tokens_result.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"request_tokens_result.js","sourceRoot":"","sources":["../src/request_tokens_result.ts"],"names":[],"mappings":"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"}
|