feat: add security plugin
Made-with: Cursor
This commit is contained in:
21
src/plugins/security.ts
Normal file
21
src/plugins/security.ts
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
||||||
|
import helmet from '@fastify/helmet';
|
||||||
|
import cors from '@fastify/cors';
|
||||||
|
import fp from 'fastify-plugin';
|
||||||
|
import { getCorsOrigins } from '../config/env.js';
|
||||||
|
|
||||||
|
const securityPlugin: FastifyPluginAsync = async (app: FastifyInstance) => {
|
||||||
|
await app.register(helmet, {
|
||||||
|
contentSecurityPolicy: false,
|
||||||
|
crossOriginEmbedderPolicy: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
await app.register(cors, {
|
||||||
|
origin: getCorsOrigins(),
|
||||||
|
credentials: true,
|
||||||
|
methods: ['GET', 'POST', 'PATCH', 'DELETE', 'PUT', 'OPTIONS'],
|
||||||
|
allowedHeaders: ['Content-Type', 'Authorization'],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default fp(securityPlugin, { name: 'security' });
|
||||||
Reference in New Issue
Block a user