sprinklers3/common/TokenClaims.ts

33 lines
671 B
TypeScript

export interface BaseClaims {
iss: string;
exp?: number;
}
export interface AccessToken extends BaseClaims {
type: "access";
aud: number;
name: string;
}
export interface RefreshToken extends BaseClaims {
type: "refresh";
aud: number;
name: string;
}
export interface DeviceRegistrationToken extends BaseClaims {
type: "device_reg";
}
export interface DeviceToken extends BaseClaims {
type: "device";
aud: string;
id: number;
}
export interface SuperuserToken extends BaseClaims {
type: "superuser";
}
export type TokenClaims = AccessToken | RefreshToken | DeviceRegistrationToken | DeviceToken | SuperuserToken;