phantomauth
Version:
An authentication library with built-in security features, designed for fast and boilerplate-free backend development. Ideal for quickly building MVPs with a reasonable level of security. Not intended for high-risk or enterprise level use.
26 lines (25 loc) • 945 B
JavaScript
import express from 'express';
import { authRouter } from '../routes/v1/auth.route.js';
import { logger } from '../utils/logger.js';
import { runMongoDB } from '../db/runMongoDB.js';
import { errorHandler } from '../middlewares/errorHandler.middleware.js';
import helmet from 'helmet';
import { verifyToken } from '../middlewares/verifyToken.middleware.js';
import { verify2FA } from '../middlewares/verify2FA.middleware.js';
import mongoose from 'mongoose';
export const phantomauth = async (mongoUri, apiUrl) => {
try {
logger.info('PhantomAuth running');
await runMongoDB(mongoUri);
const app = express();
app.use(helmet());
app.use(express.json());
app.use(`${apiUrl}`, authRouter);
app.use(errorHandler);
return { app, verifyToken, verify2FA }
} catch (err) {
logger.error(`Phantom Auth stopped: ${err.message}`);
mongoose.connection.close();
process.exit(1);
}
};