oidc-spa
Version:
Openidconnect client for Single Page Applications
28 lines (27 loc) • 1.19 kB
TypeScript
export type ParamsOfCreateOidcBackend<DecodedAccessToken extends Record<string, unknown>> = {
issuerUri: string;
decodedAccessTokenSchema?: {
parse: (data: unknown) => DecodedAccessToken;
};
};
export type OidcBackend<DecodedAccessToken extends Record<string, unknown>> = {
verifyAndDecodeAccessToken(params: {
accessToken: string;
}): ResultOfAccessTokenVerify<DecodedAccessToken>;
};
export type ResultOfAccessTokenVerify<DecodedAccessToken> = ResultOfAccessTokenVerify.Valid<DecodedAccessToken> | ResultOfAccessTokenVerify.Invalid;
export declare namespace ResultOfAccessTokenVerify {
type Valid<DecodedAccessToken> = {
isValid: true;
decodedAccessToken: DecodedAccessToken;
errorCase?: never;
errorMessage?: never;
};
type Invalid = {
isValid: false;
errorCase: "expired" | "invalid signature" | "does not respect schema";
errorMessage: string;
decodedAccessToken?: never;
};
}
export declare function createOidcBackend<DecodedAccessToken extends Record<string, unknown>>(params: ParamsOfCreateOidcBackend<DecodedAccessToken>): Promise<OidcBackend<DecodedAccessToken>>;