faceit-visa
Version:
A lightweight OAuth2 authentication library for FACEIT integration
37 lines • 1.2 kB
TypeScript
import { Request, Response, NextFunction, Router } from 'express';
import { FaceitVisa, FaceitUser, TokenResponse } from './index';
export interface AuthenticatedRequest extends Request {
user?: FaceitUser;
faceitToken?: TokenResponse;
}
export interface MiddlewareOptions {
loginPath?: string;
callbackPath?: string;
sessionSecret?: string;
onSuccess?: (req: AuthenticatedRequest, res: Response) => void;
onError?: (req: Request, res: Response, error: string) => void;
}
export declare class FaceitVisaMiddleware {
private visa;
private options;
constructor(visa: FaceitVisa, options?: MiddlewareOptions);
/**
* Create authentication routes
*/
getRoutes(): Router;
/**
* Middleware to require authentication
*/
requireAuth(): (req: Request, res: Response, next: NextFunction) => void;
/**
* Optional authentication middleware
*/
optionalAuth(): (req: Request, res: Response, next: NextFunction) => void;
/**
* Logout middleware
*/
logout(): (req: Request, res: Response) => void;
private handleError;
}
export default FaceitVisaMiddleware;
//# sourceMappingURL=middleware.d.ts.map