@e280/authlocal
Version:
User-sovereign login system for everybody
27 lines (21 loc) • 516 B
text/typescript
import {Session} from "../session/types.js"
import {Token} from "../token/types.js"
export type SignClaimOptions<C> = {
claim: C
session: Session
appOrigin: string
atTime?: number
expiresAt?: number
audience?: string
}
export type VerifyClaimOptions = {
claimToken: string
appOrigins: string[]
atTime?: number | null
allowedAudiences?: string[]
}
/** token payload for a generic claim signed by a session */
export type ClaimPayload<C> = {
sub: string
data: {claim: C, proofToken: string}
} & Token