@vibes.diy/identity 2.6.6 → 2.6.8

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/clerk-claim.d.ts CHANGED
@@ -35,3 +35,35 @@ export declare const ClerkClaimSchema: z.ZodObject<{
35
35
  app_metadata: z.ZodOptional<z.ZodUnknown>;
36
36
  }, z.core.$strip>;
37
37
  export type ClerkClaim = z.infer<typeof ClerkClaimSchema>;
38
+ export declare const FPClerkClaimSchema: z.ZodObject<{
39
+ payload: z.ZodObject<{
40
+ azp: z.ZodOptional<z.ZodString>;
41
+ exp: z.ZodOptional<z.ZodNumber>;
42
+ iat: z.ZodOptional<z.ZodNumber>;
43
+ iss: z.ZodOptional<z.ZodString>;
44
+ jti: z.ZodOptional<z.ZodString>;
45
+ nbf: z.ZodOptional<z.ZodNumber>;
46
+ params: z.ZodObject<{
47
+ nick: z.ZodOptional<z.ZodString>;
48
+ email: z.ZodString;
49
+ email_verified: z.ZodBoolean;
50
+ external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ first: z.ZodCatch<z.ZodString>;
52
+ image_url: z.ZodCatch<z.ZodString>;
53
+ last: z.ZodCatch<z.ZodString>;
54
+ name: z.ZodCatch<z.ZodNullable<z.ZodString>>;
55
+ public_meta: z.ZodUnknown;
56
+ }, z.core.$strip>;
57
+ role: z.ZodString;
58
+ sub: z.ZodString;
59
+ userId: z.ZodString;
60
+ aud: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
61
+ app_metadata: z.ZodOptional<z.ZodUnknown>;
62
+ }, z.core.$strip>;
63
+ protectedHeader: z.ZodObject<{
64
+ alg: z.ZodOptional<z.ZodString>;
65
+ cat: z.ZodOptional<z.ZodString>;
66
+ kid: z.ZodOptional<z.ZodString>;
67
+ typ: z.ZodOptional<z.ZodString>;
68
+ }, z.core.$strip>;
69
+ }, z.core.$strip>;
package/clerk-claim.js CHANGED
@@ -24,4 +24,15 @@ export const ClerkClaimSchema = z.object({
24
24
  aud: z.union([z.string(), z.array(z.string())]).optional(),
25
25
  app_metadata: z.unknown().optional(),
26
26
  });
27
+ export const FPClerkClaimSchema = z.object({
28
+ payload: ClerkClaimSchema,
29
+ protectedHeader: z
30
+ .object({
31
+ alg: z.string(),
32
+ cat: z.string(),
33
+ kid: z.string(),
34
+ typ: z.string(),
35
+ })
36
+ .partial(),
37
+ });
27
38
  //# sourceMappingURL=clerk-claim.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clerk-claim.js","sourceRoot":"","sources":["../jsr/clerk-claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,6BAA6B;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}
1
+ {"version":3,"file":"clerk-claim.js","sourceRoot":"","sources":["../jsr/clerk-claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,6BAA6B;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAUH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,gBAAgB;IACzB,eAAe,EAAE,CAAC;SACf,MAAM,CAAC;QACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC;SACD,OAAO,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { SuperThis } from "@fireproof/core-types-base";
3
+ import type { FPApiToken, VerifiedClaimsResult } from "../types/wire.js";
4
+ export declare class ClerkApiToken implements FPApiToken {
5
+ readonly sthis: SuperThis;
6
+ constructor(sthis: SuperThis);
7
+ readonly keysAndUrls: () => Result<{
8
+ keys: string[];
9
+ urls: string[];
10
+ }, Error>;
11
+ decode(token: string): Promise<Result<VerifiedClaimsResult>>;
12
+ verify(token: string): Promise<Result<VerifiedClaimsResult>>;
13
+ }
@@ -0,0 +1,87 @@
1
+ import { Lazy, Result, param, exception2Result } from "@adviser/cement";
2
+ import { sts } from "@fireproof/core-runtime";
3
+ import { decodeJwt, jwtVerify } from "jose";
4
+ import { ClerkClaimSchema, FPClerkClaimSchema } from "../clerk-claim.js";
5
+ export class ClerkApiToken {
6
+ sthis;
7
+ constructor(sthis) {
8
+ this.sthis = sthis;
9
+ }
10
+ keysAndUrls = Lazy(() => {
11
+ const keys = [];
12
+ const urls = [];
13
+ for (let idx = 0;; idx++) {
14
+ const suffix = !idx ? "" : `_${idx}`;
15
+ const key = `CLERK_PUB_JWT_KEY${suffix}`;
16
+ const url = `CLERK_PUB_JWT_URL${suffix}`;
17
+ const rEnvVal = this.sthis.env.gets({ [key]: param.OPTIONAL, [url]: param.OPTIONAL });
18
+ if (rEnvVal.isErr()) {
19
+ return Result.Err(rEnvVal.Err());
20
+ }
21
+ const { [key]: keyVal, [url]: urlVal } = rEnvVal.Ok();
22
+ if (!keyVal && !urlVal) {
23
+ break;
24
+ }
25
+ if (keyVal) {
26
+ keys.push(keyVal);
27
+ }
28
+ if (urlVal) {
29
+ urls.push(...urlVal
30
+ .split(",")
31
+ .map((u) => u.trim())
32
+ .filter((u) => u));
33
+ }
34
+ }
35
+ return Result.Ok({ keys, urls });
36
+ });
37
+ async decode(token) {
38
+ const claims = await exception2Result(() => decodeJwt(token));
39
+ if (claims.isErr()) {
40
+ return Result.Err(claims);
41
+ }
42
+ const r = ClerkClaimSchema.safeParse(claims.Ok());
43
+ if (!r.success) {
44
+ return Result.Err(r.error);
45
+ }
46
+ return Result.Ok({ type: "clerk", token, claims: r.data });
47
+ }
48
+ async verify(token) {
49
+ const rKaUs = this.keysAndUrls();
50
+ if (rKaUs.isErr()) {
51
+ return Result.Err(rKaUs);
52
+ }
53
+ const { keys, urls } = rKaUs.Ok();
54
+ const rt = await sts.verifyToken(token, keys, urls, {
55
+ parseSchema: (payload) => {
56
+ const r = FPClerkClaimSchema.safeParse(payload);
57
+ if (r.success) {
58
+ return Result.Ok(r.data);
59
+ }
60
+ else {
61
+ console.log("FPClerkClaimSchema parse error", payload, r.error);
62
+ return Result.Err(r.error);
63
+ }
64
+ },
65
+ verifyToken: async (tok, key) => {
66
+ const rPublicKey = await sts.importJWK(key, "RS256");
67
+ if (rPublicKey.isErr()) {
68
+ return Result.Err(rPublicKey);
69
+ }
70
+ const r = await exception2Result(() => jwtVerify(tok, rPublicKey.Ok().key));
71
+ if (r.isErr()) {
72
+ return Result.Err(r);
73
+ }
74
+ if (!r.Ok()) {
75
+ return Result.Err("ClerkVerifyToken: failed");
76
+ }
77
+ return Result.Ok({ payload: r.Ok() });
78
+ },
79
+ });
80
+ if (rt.isErr()) {
81
+ return Result.Err(rt.Err());
82
+ }
83
+ const t = rt.Ok();
84
+ return Result.Ok({ type: "clerk", token, claims: t.payload });
85
+ }
86
+ }
87
+ //# sourceMappingURL=clerk-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clerk-token.js","sourceRoot":"","sources":["../../jsr/dash-api/clerk-token.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAY,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIzE,MAAM,OAAO,aAAa;IACf,KAAK,CAAY;IAC1B,YAAY,KAAgB;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEQ,WAAW,GAAG,IAAI,CAAC,GAA+C,EAAE;QAC3E,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,IAAI,GAAG,GAAG,CAAC,GAAI,GAAG,EAAE,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,oBAAoB,MAAM,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,oBAAoB,MAAM,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CACP,GAAG,MAAM;qBACN,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,WAAW,EAAE,CAAC,OAAgB,EAAE,EAAE;gBAChC,MAAM,CAAC,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,WAAW,EAAE,KAAK,EAAE,GAAW,EAAE,GAAQ,EAAE,EAAE;gBAC3C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACrD,IAAI,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;oBACvB,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;oBACd,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;oBACZ,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC;SACO,CAAC,CAAC;QACZ,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,EAA0B,CAAC;QAC1C,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { SuperThis, JWKPublic } from "@fireproof/core-types-base";
3
+ import type { VerifyWithCertificateOptions } from "@fireproof/core-types-device-id";
4
+ import { DeviceIdCA } from "../device-id/ca.js";
5
+ import { ClerkApiToken } from "./clerk-token.js";
6
+ import type { FPApiToken, VerifiedClaimsResult } from "../types/wire.js";
7
+ export { ClerkApiToken } from "./clerk-token.js";
8
+ export declare class DeviceIdApiToken implements FPApiToken {
9
+ readonly sthis: SuperThis;
10
+ readonly opts: VerifyWithCertificateOptions;
11
+ constructor(sthis: SuperThis, opts: VerifyWithCertificateOptions);
12
+ decode(token: string): Promise<Result<VerifiedClaimsResult>>;
13
+ verify(token: string): Promise<Result<VerifiedClaimsResult>>;
14
+ }
15
+ export declare const deviceIdCAFromEnv: (sthis: SuperThis) => Promise<Result<DeviceIdCA, Error>>;
16
+ export declare function getCloudPubkeyFromEnv(cloudToken?: string, sthis?: SuperThis): Promise<Result<{
17
+ keys: JWKPublic[];
18
+ }>>;
19
+ export declare const tokenApi: (sthis: SuperThis, opts: VerifyWithCertificateOptions) => Promise<{
20
+ "device-id": DeviceIdApiToken;
21
+ clerk: ClerkApiToken;
22
+ }>;
@@ -0,0 +1,101 @@
1
+ import { Lazy, Result, param, exception2Result, isArrayBuffer, isUint8Array } from "@adviser/cement";
2
+ import { sts, ensureSuperThis } from "@fireproof/core-runtime";
3
+ import { decodeProtectedHeader, exportJWK } from "jose";
4
+ import { ClerkClaimSchema } from "../clerk-claim.js";
5
+ import { JWKPublicSchema } from "../types/wire.js";
6
+ import { FPDeviceIDSessionSchema, toJwksAlg } from "@fireproof/core-types-base";
7
+ import { DeviceIdCA } from "../device-id/ca.js";
8
+ import { DeviceIdVerifyMsg } from "../device-id/verify.js";
9
+ import { ClerkApiToken } from "./clerk-token.js";
10
+ export { ClerkApiToken } from "./clerk-token.js";
11
+ export class DeviceIdApiToken {
12
+ sthis;
13
+ opts;
14
+ constructor(sthis, opts) {
15
+ this.sthis = sthis;
16
+ this.opts = opts;
17
+ }
18
+ async decode(token) {
19
+ const rHeader = await exception2Result(() => decodeProtectedHeader(token));
20
+ if (rHeader.isErr()) {
21
+ return Result.Err(rHeader);
22
+ }
23
+ const x5c = rHeader.Ok().x5c;
24
+ if (!x5c || !x5c[0]) {
25
+ return Result.Err("DeviceIdApiToken-decode: missing x5c in header");
26
+ }
27
+ const jsStr = this.sthis.txt.base64.decode(x5c[0] ?? "");
28
+ const rJs = await exception2Result(() => JSON.parse(jsStr));
29
+ if (rJs.isErr()) {
30
+ return Result.Err(rJs);
31
+ }
32
+ const rClaims = ClerkClaimSchema.safeParse(rJs.Ok().creatingUser?.claims);
33
+ if (!rClaims.success) {
34
+ return Result.Err(rClaims.error);
35
+ }
36
+ return Result.Ok({ type: "device-id", token, claims: rClaims.data });
37
+ }
38
+ async verify(token) {
39
+ const rCa = await this.opts.deviceIdCA.caCertificate();
40
+ if (rCa.isErr()) {
41
+ return Result.Err(rCa);
42
+ }
43
+ const verify = new DeviceIdVerifyMsg(this.sthis.txt.base64, [rCa.Ok()], { maxAge: 3600, ...this.opts });
44
+ const res = await verify.verifyWithCertificate(token, FPDeviceIDSessionSchema);
45
+ if (res.valid) {
46
+ const creatingUser = res.certificate.certificate.asCert()
47
+ .creatingUser;
48
+ if (!creatingUser || creatingUser.type !== "clerk") {
49
+ return Result.Err(`DeviceIdApiToken-verify: unsupported creatingUser type: ${creatingUser}`);
50
+ }
51
+ return Result.Ok({ type: "device-id", token, claims: creatingUser.claims });
52
+ }
53
+ return Result.Err(res.error);
54
+ }
55
+ }
56
+ export const deviceIdCAFromEnv = Lazy((sthis) => {
57
+ const rEnv = sthis.env.gets({ DEVICE_ID_CA_PRIV_KEY: param.REQUIRED, DEVICE_ID_CA_CERT: param.REQUIRED });
58
+ if (rEnv.isErr()) {
59
+ throw rEnv.Err();
60
+ }
61
+ const envVals = rEnv.Ok();
62
+ return DeviceIdCA.from(sthis, { privateKey: envVals.DEVICE_ID_CA_PRIV_KEY, signedCert: envVals.DEVICE_ID_CA_CERT }, { generateSerialNumber: async () => sthis.nextId(32).str });
63
+ });
64
+ export async function getCloudPubkeyFromEnv(cloudToken, sthis = ensureSuperThis()) {
65
+ const cstPub = cloudToken ?? sthis.env.get("CLOUD_SESSION_TOKEN_PUBLIC");
66
+ if (!cstPub) {
67
+ return Result.Err("no public key: env:CLOUD_SESSION_TOKEN_PUBLIC");
68
+ }
69
+ const cryptoKeys = await sts.env2jwk(cstPub, undefined, sthis);
70
+ const keys = [];
71
+ for (const key of cryptoKeys) {
72
+ const jwKey = await exportJWK(key);
73
+ if (isUint8Array(jwKey) || isArrayBuffer(jwKey)) {
74
+ return Result.Err("invalid key: jwk is ArrayBuffer or Uint8Array");
75
+ }
76
+ const rAlg = toJwksAlg(jwKey);
77
+ if (rAlg.isErr()) {
78
+ return Result.Err(rAlg);
79
+ }
80
+ const rJwtPublicKey = JWKPublicSchema.safeParse({
81
+ use: "sig",
82
+ ...jwKey,
83
+ alg: rAlg.Ok(),
84
+ ext: undefined,
85
+ key_ops: undefined,
86
+ kid: undefined,
87
+ });
88
+ if (!rJwtPublicKey.success) {
89
+ return Result.Err(rJwtPublicKey.error);
90
+ }
91
+ keys.push(rJwtPublicKey.data);
92
+ }
93
+ return Result.Ok({ keys });
94
+ }
95
+ export const tokenApi = Lazy(async (sthis, opts) => {
96
+ return {
97
+ "device-id": new DeviceIdApiToken(sthis, opts),
98
+ clerk: new ClerkApiToken(sthis),
99
+ };
100
+ });
101
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../jsr/dash-api/token.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGhF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAAY;IACjB,IAAI,CAA+B;IAC5C,YAAY,KAAgB,EAAE,IAAkC;QAC9D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAE,GAAG,CAAC,EAAE,EAA8C,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QACvD,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxG,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAC/E,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,YAAY,GAAI,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAA6D;iBAClH,YAAY,CAAC;YAChB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnD,OAAO,MAAM,CAAC,GAAG,CAAC,2DAA2D,YAAY,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,KAAgB,EAA+B,EAAE;IACtF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1G,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,UAAU,CAAC,IAAI,CACpB,KAAK,EACL,EAAE,UAAU,EAAE,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,OAAO,CAAC,iBAAiB,EAAE,EACpF,EAAE,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAC3D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAmB,EACnB,KAAK,GAAc,eAAe,EAAE;IAEpC,MAAM,MAAM,GAAG,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC;YAC9C,GAAG,EAAE,KAAK;YACV,GAAG,KAAK;YACR,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACd,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAiB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,KAAgB,EAAE,IAAkC,EAAE,EAAE;IAC1F,OAAO;QACL,WAAW,EAAE,IAAI,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;QAC9C,KAAK,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/device-id/ca.js CHANGED
@@ -1,5 +1,5 @@
1
- import { CertificatePayloadSchema } from "@fireproof/core-types-base";
2
1
  import { JWKPrivateSchema } from "../types/wire.js";
2
+ import { CertificatePayloadSchema } from "../types/cert-payload.js";
3
3
  import { SignJWT, jwtVerify } from "jose";
4
4
  import { DeviceIdKey } from "./key.js";
5
5
  import { DeviceIdValidator } from "./validator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ca.js","sourceRoot":"","sources":["../../jsr/device-id/ca.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ca.js","sourceRoot":"","sources":["../../jsr/device-id/ca.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { toSortedObject } from "@adviser/cement";
2
- import { CertificatePayloadSchema } from "@fireproof/core-types-base";
2
+ import { CertificatePayloadSchema } from "../types/cert-payload.js";
3
3
  import { decodeJwt } from "jose";
4
4
  import { base58btc } from "multiformats/bases/base58";
5
5
  import { sha1 } from "multiformats/hashes/sha1";
@@ -1 +1 @@
1
- {"version":3,"file":"certor.js","sourceRoot":"","sources":["../../jsr/device-id/certor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"certor.js","sourceRoot":"","sources":["../../jsr/device-id/certor.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export type { VerifiedResult } from "@fireproof/core-types-protocols-dashboard";
6
6
  export type { SuperThis, FPDeviceIDSession, DocTypes, JWKPrivate, JWKPublic, DeviceIdKeyBagItem, DeviceIdResult, } from "@fireproof/core-types-base";
7
7
  export type { DeviceIdCAIf } from "@fireproof/core-types-device-id";
8
8
  export { JWKPrivateSchema, JWKPublicSchema } from "./types/wire.js";
9
- export { ClerkApiToken, clerkDashApi, DashboardApiImpl } from "@fireproof/core-protocols-dashboard";
9
+ export { ClerkApiToken } from "./dash-api/clerk-token.js";
10
+ export { clerkDashApi, DashboardApiImpl } from "@fireproof/core-protocols-dashboard";
package/index.js CHANGED
@@ -2,5 +2,6 @@ export { ensureRuntimeContext } from "./runtime-context.js";
2
2
  export { ClerkClaimSchema, ClerkEmailTemplateClaimSchema } from "./clerk-claim.js";
3
3
  export { ensureSuperThis, ensureLogger, runtimeFn, hashObjectSync, sts } from "@fireproof/core-runtime";
4
4
  export { JWKPrivateSchema, JWKPublicSchema } from "./types/wire.js";
5
- export { ClerkApiToken, clerkDashApi, DashboardApiImpl } from "@fireproof/core-protocols-dashboard";
5
+ export { ClerkApiToken } from "./dash-api/clerk-token.js";
6
+ export { clerkDashApi, DashboardApiImpl } from "@fireproof/core-protocols-dashboard";
6
7
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAmB,MAAM,kBAAkB,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAgCxG,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAmB,MAAM,kBAAkB,CAAC;AAGpG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAgCxG,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAYpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/identity",
3
- "version": "2.6.6",
3
+ "version": "2.6.8",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "exports": {
package/server.d.ts CHANGED
@@ -1 +1 @@
1
- export { deviceIdCAFromEnv, getCloudPubkeyFromEnv, tokenApi } from "@fireproof/core-protocols-dashboard";
1
+ export { deviceIdCAFromEnv, getCloudPubkeyFromEnv, tokenApi } from "./dash-api/token.js";
package/server.js CHANGED
@@ -1,2 +1,2 @@
1
- export { deviceIdCAFromEnv, getCloudPubkeyFromEnv, tokenApi } from "@fireproof/core-protocols-dashboard";
1
+ export { deviceIdCAFromEnv, getCloudPubkeyFromEnv, tokenApi } from "./dash-api/token.js";
2
2
  //# sourceMappingURL=server.js.map
package/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../jsr/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../jsr/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { z } from "zod";
2
+ import type { CertificatePayload } from "@fireproof/core-types-base";
3
+ export declare const CertificatePayloadSchema: z.ZodType<CertificatePayload>;
@@ -0,0 +1,59 @@
1
+ import { z } from "zod";
2
+ import { SubjectSchema, ExtensionsSchema } from "@fireproof/core-types-base";
3
+ import { JWKPublicSchema } from "./wire.js";
4
+ import { ClerkClaimSchema } from "../clerk-claim.js";
5
+ const CreatingUserSchema = z.object({
6
+ type: z.literal("clerk"),
7
+ claims: ClerkClaimSchema,
8
+ });
9
+ const CertificateSchema = z.object({
10
+ version: z.literal("3"),
11
+ serialNumber: z.string(),
12
+ subject: SubjectSchema,
13
+ issuer: SubjectSchema,
14
+ validity: z.object({
15
+ notBefore: z.string().datetime(),
16
+ notAfter: z.string().datetime(),
17
+ }),
18
+ subjectPublicKeyInfo: JWKPublicSchema,
19
+ signatureAlgorithm: z.literal("ES256"),
20
+ keyUsage: z.array(z.enum([
21
+ "digitalSignature",
22
+ "nonRepudiation",
23
+ "keyEncipherment",
24
+ "dataEncipherment",
25
+ "keyAgreement",
26
+ "keyCertSign",
27
+ "cRLSign",
28
+ "encipherOnly",
29
+ "decipherOnly",
30
+ ])),
31
+ extendedKeyUsage: z.array(z.enum([
32
+ "serverAuth",
33
+ "clientAuth",
34
+ "codeSigning",
35
+ "emailProtection",
36
+ "timeStamping",
37
+ "OCSPSigning",
38
+ "ipsecIKE",
39
+ "msCodeInd",
40
+ "msCodeCom",
41
+ "msCTLSign",
42
+ "msEFS",
43
+ ])),
44
+ extensions: ExtensionsSchema.optional(),
45
+ });
46
+ export const CertificatePayloadSchema = z
47
+ .object({
48
+ iss: z.string(),
49
+ sub: z.string(),
50
+ aud: z.string().or(z.array(z.string())),
51
+ iat: z.number().int(),
52
+ nbf: z.number().int(),
53
+ exp: z.number().int(),
54
+ jti: z.string(),
55
+ certificate: CertificateSchema,
56
+ creatingUser: CreatingUserSchema.optional(),
57
+ })
58
+ .readonly();
59
+ //# sourceMappingURL=cert-payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cert-payload.js","sourceRoot":"","sources":["../../jsr/types/cert-payload.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQrD,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACxB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,aAAa;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;IACF,oBAAoB,EAAE,eAAe;IACrC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CACf,CAAC,CAAC,IAAI,CAAC;QACL,kBAAkB;QAClB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,SAAS;QACT,cAAc;QACd,cAAc;KACf,CAAC,CACH;IACD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CACvB,CAAC,CAAC,IAAI,CAAC;QACL,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,aAAa;QACb,UAAU;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,OAAO;KACR,CAAC,CACH;IACD,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,wBAAwB,GAAkC,CAAC;KACrE,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,QAAQ,EAAmC,CAAC"}