@piggly/fastify-chassis
Version:
An ESM/CommonJS toolkit to help you to do common operations in your back-end applications with Fastify and NodeJS.
108 lines (107 loc) • 3.01 kB
TypeScript
import type { FastifyRequest, FastifyReply } from 'fastify';
import { CookieBuilderService, CookieOptions } from './CookieBuilderService';
/**
* @file CSRF token service.
* @copyright Piggly Lab 2025
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
export declare class CSRFTokenService {
/**
* Cookie.
*
* @type {CookieBuilderService}
* @protected
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
protected _cookie: CookieBuilderService;
/**
* Secret.
*
* @type {string}
* @protected
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
protected _secret: string;
/**
* Constructor.
*
* @param {CookieBuilderService} cookie
* @param {string} secret
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
constructor(cookie: CookieBuilderService, secret: string);
/**
* Set the CSRF token as a cookie.
*
* @param {FastifyReply} reply
* @param {string} name
* @param {CookieOptions} options
* @returns {FastifyReply}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
asCookie<T extends FastifyReply>(reply: T, name?: string, options?: CookieOptions): T;
/**
* Set the CSRF token as a header.
*
* @param {FastifyReply} reply
* @param {string} header
* @returns {FastifyReply}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
asHeader<T extends FastifyReply>(reply: T, header?: string): T;
/**
* Generate a CSRF token.
*
* It will be generated following the format:
* <token>.<signature>
*
* @returns {string}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
asRaw(): string;
/**
* Verify a CSRF token.
*
* @param {string} token
* @returns {boolean}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
verify(token?: string): boolean;
/**
* Verify a CSRF token from a cookie.
*
* @param {FastifyRequest} request
* @param {string} cookie
* @returns {boolean}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
verifyCookie<T extends FastifyRequest>(request: T, cookie?: string): boolean;
/**
* Verify a CSRF token from a header.
*
* @param {FastifyRequest} request
* @param {string} header
* @returns {boolean}
* @memberof CSRFTokenService
* @since 7.0.0
* @author Caique Araujo <caique@piggly.com.br>
*/
verifyHeader<T extends FastifyRequest>(request: T, header?: string): boolean;
}