n8n
Version:
n8n Workflow Automation Tool
34 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JwksResponseSchema = exports.PublicJweJwkSchema = void 0;
const zod_1 = require("zod");
const oauth_jwe_constants_1 = require("./oauth-jwe.constants");
const RsaPublicJwkSchema = zod_1.z
.object({
kty: zod_1.z.literal('RSA'),
kid: zod_1.z.string().min(1),
use: zod_1.z.literal(oauth_jwe_constants_1.JWE_KEY_USE),
alg: zod_1.z.enum(oauth_jwe_constants_1.JWE_RSA_ALGORITHMS),
n: zod_1.z.string().min(1),
e: zod_1.z.string().min(1),
})
.strict();
const EcPublicJwkSchema = zod_1.z
.object({
kty: zod_1.z.literal('EC'),
kid: zod_1.z.string().min(1),
use: zod_1.z.literal(oauth_jwe_constants_1.JWE_KEY_USE),
alg: zod_1.z.enum(oauth_jwe_constants_1.JWE_EC_ALGORITHMS),
crv: zod_1.z.enum(['P-256', 'P-384', 'P-521']),
x: zod_1.z.string().min(1),
y: zod_1.z.string().min(1),
})
.strict();
exports.PublicJweJwkSchema = zod_1.z.discriminatedUnion('kty', [
RsaPublicJwkSchema,
EcPublicJwkSchema,
]);
exports.JwksResponseSchema = zod_1.z.object({
keys: zod_1.z.array(exports.PublicJweJwkSchema),
});
//# sourceMappingURL=oauth-jwe.schemas.js.map