UNPKG

@skyway-sdk/token

Version:

The official Next Generation JavaScript SDK for SkyWay

47 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AuthTokenSchema = void 0; const zod_1 = require("zod"); const v1_2_1 = require("./scope/v1-2"); const v3_1 = require("./scope/v3"); const authTokenBaseSchema = zod_1.z.object({ /** トークンのユニークなid(uuid) */ jti: zod_1.z.string().uuid(), /** トークンが発行された日時(UNIX timestamp) */ iat: zod_1.z.number().nonnegative(), /** このトークンが無効になる時間を表すタイムスタンプ(UNIX timestamp) */ exp: zod_1.z.number().nonnegative(), }); const authTokenV1_2Schema = zod_1.z.intersection(authTokenBaseSchema, zod_1.z.object({ /** * tokenの権限を表すクレーム[version:1,2,undefined] * */ scope: zod_1.z.object({ app: v1_2_1.appScopeSchema, }), /** * tokenのバージョン[version:1,2,undefined] * - 未指定やundefinedの場合は1として扱われます。 * - 3の場合とでscopeの構造に違いがあります。 * */ version: zod_1.z .union([zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(undefined)]) .optional(), })); const authTokenV3Schema = zod_1.z.intersection(authTokenBaseSchema, zod_1.z.object({ /** * tokenの権限を表すクレーム[version:3] * */ scope: v3_1.scopeV3Schema, /** * tokenのバージョン[version:3] * - 2以下の場合とでscopeの構造に違いがあります。 * */ version: zod_1.z.literal(3), })); /**@internal */ exports.AuthTokenSchema = zod_1.z.union([ authTokenV1_2Schema, authTokenV3Schema, ]); //# sourceMappingURL=token.js.map