Skip to content
0

katanakit-js / PrincipalSchema

Variable: PrincipalSchema ​

ts
const PrincipalSchema: ZodObject<{
  claims: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
  email: ZodOptional<ZodString>;
  emailVerified: ZodOptional<ZodBoolean>;
  method: ZodString;
  provider: ZodString;
  subject: ZodString;
}, $strip>;

Defined in: src/schemas/identity.schema.ts:23

A principal is the result of authenticating: who the provider says you are, and how it proved it.

It deliberately carries no roles. The method that proved the identity (oauth:google, password, otp, passkey) is a fact about the credential, never about the person — that separation is what lets one deployment offer SSO to contractors and a password to employees without the authorization layer noticing.

provider and method are open strings. The kit has no opinion about the catalog: better-auth, insforge, ldap, saml, or a national identity document number are all just values here.

Released under the MIT License.