UNPKG

@authduo/authduo

Version:

Free User-sovereign Authentication for the World

41 lines (40 loc) 1.02 kB
import { TokenVerifyOptions } from "../jwt/types.js"; import { KeypairData, PubkeyData } from "../types.js"; /** proof that the login commissioned by the passport (signed by the passport) */ export type ProofPayload = { exp: number; iss: string; aud: string; jti: string; data: { loginPubkey: PubkeyData; passportPubkey: PubkeyData; }; }; /** includes user info and an ephemeral keypair (signed by the passport) */ export type KeysPayload = { sub: string; exp: number; iss: string; aud: string; jti: string; data: { name: string; loginKeypair: KeypairData; }; }; /** a claim (signed by the login) */ export type ClaimPayload<C> = { sub: string; exp: number; jti: string; data: C; }; /** federated apps receive these tokens upon a successful login */ export type LoginTokens = { proofToken: string; keysToken: string; }; export type ProofVerification = { allowedAudiences: string[]; } & TokenVerifyOptions;