UNPKG

ltijs

Version:

Easily turn your web application into a LTI 1.3 Learning Tool.

47 lines • 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SubmissionReviewRequestSchema = exports.DeepLinkingRequestSchema = exports.ResourceLinkRequestSchema = exports.JwksResponseSchema = void 0; const zod_1 = require("zod"); const id_token_constants_1 = require("#services/launch/id-token.constants"); const oidc_constants_1 = require("#services/oidc/oidc.constants"); exports.JwksResponseSchema = zod_1.z .object({ keys: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())), }) .loose(); const CommonClaims = { [id_token_constants_1.IdTokenClaim.Version]: zod_1.z.literal(oidc_constants_1.LTI_VERSION), [id_token_constants_1.IdTokenClaim.DeploymentId]: zod_1.z.string(), [id_token_constants_1.IdTokenClaim.Roles]: zod_1.z.array(zod_1.z.string()), [id_token_constants_1.IdTokenClaim.Iss]: zod_1.z.string().min(1), [id_token_constants_1.IdTokenClaim.Sub]: zod_1.z.string().min(1), [id_token_constants_1.IdTokenClaim.Aud]: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]), [id_token_constants_1.IdTokenClaim.Azp]: zod_1.z.string().optional(), [id_token_constants_1.IdTokenClaim.Iat]: zod_1.z.number(), [id_token_constants_1.IdTokenClaim.Exp]: zod_1.z.number(), [id_token_constants_1.IdTokenClaim.Nonce]: zod_1.z.string().min(1), }; exports.ResourceLinkRequestSchema = zod_1.z .object({ ...CommonClaims, [id_token_constants_1.IdTokenClaim.MessageType]: zod_1.z.literal(id_token_constants_1.LtiMessageType.ResourceLinkRequest), [id_token_constants_1.IdTokenClaim.TargetLinkUri]: zod_1.z.string(), [id_token_constants_1.IdTokenClaim.ResourceLink]: zod_1.z.object({ id: zod_1.z.string() }).loose(), }) .loose(); exports.DeepLinkingRequestSchema = zod_1.z .object({ ...CommonClaims, [id_token_constants_1.IdTokenClaim.MessageType]: zod_1.z.literal(id_token_constants_1.LtiMessageType.DeepLinkingRequest), }) .loose(); exports.SubmissionReviewRequestSchema = zod_1.z .object({ ...CommonClaims, [id_token_constants_1.IdTokenClaim.MessageType]: zod_1.z.literal(id_token_constants_1.LtiMessageType.SubmissionReviewRequest), [id_token_constants_1.IdTokenClaim.TargetLinkUri]: zod_1.z.string(), [id_token_constants_1.IdTokenClaim.ForUser]: zod_1.z.object({ user_id: zod_1.z.string() }).loose(), [id_token_constants_1.IdTokenClaim.Endpoint]: zod_1.z.unknown().refine(value => value !== undefined, { message: 'Required' }), }) .loose(); //# sourceMappingURL=oidc.schemas.js.map