simple-next-csrf
Version:
This project aims to add Cross-Site Request Forgery (CSRF) protection to a Next.js application that does have server-side props support.
21 lines (20 loc) • 815 B
TypeScript
import { IOptions } from "cookies";
import { GetServerSideProps, NextApiHandler } from "next";
export type TcsrfEnjector = (getServerSideProps: GetServerSideProps) => GetServerSideProps;
export type TcsrfValidator = (handler: NextApiHandler) => NextApiHandler;
export type ReturnTypeOfSimpleNextCSRF = {
csrfValidator: TcsrfValidator;
csrfEnjector: TcsrfEnjector;
};
export type TMethods = "GET" | "HEAD" | "OPTIONS" | "POST" | "PUT" | "DELETE" | "PATCH" | "CONNECT";
export type ArgsOfSimpleNextCSRF = {
cookieOptions?: IOptions;
secret: string;
secureMethods?: TMethods[];
};
export type ArgsOfConfigureMiddleware = {
cookieOptions?: IOptions;
secret: string;
secureMethods?: TMethods[];
};
export type TsimpleNextCSRF = (args: ArgsOfSimpleNextCSRF) => ReturnTypeOfSimpleNextCSRF;