Implemented Oauth

This commit is contained in:
2026-01-02 00:36:24 +05:30
parent 933c0741ab
commit 0130f746b0
22 changed files with 960 additions and 257 deletions

View File

@@ -1,29 +1,59 @@
import express from 'express';
import cors from 'cors';
import cookieParser from 'cookie-parser';
import router from './routes/auth.js';
import applicantRoute from './routes/applicant.js';
import validatorRoute from './routes/validator.js';
import generalRoute from './routes/general.js';
import { verifyApplicantToken, verifyToken, verifyValidatorToken } from './middleware/verifyJwt.js';
import express from "express";
import cors from "cors";
import cookieParser from "cookie-parser";
import session from "express-session";
import passport, { initializePassport } from "./services/passportService.js";
import router from "./routes/auth.js";
import applicantRoute from "./routes/applicant.js";
import validatorRoute from "./routes/validator.js";
import generalRoute from "./routes/general.js";
import {
verifyApplicantToken,
verifyToken,
verifyValidatorToken,
} from "./middleware/verifyJwt.js";
// Initialize passport strategies after environment variables are loaded
initializePassport();
const app = express();
// Middleware setup
app.use(cookieParser());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cors({
origin: true,
credentials: true
}));
app.use(cookieParser());
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(
cors({
origin: process.env.FRONTEND_URL || "http://localhost:5173",
credentials: true,
}),
);
// Session middleware (required for Passport)
app.use(
session({
secret:
process.env.SESSION_SECRET || "your-secret-key-change-this-in-production",
resave: false,
saveUninitialized: false,
cookie: {
secure: process.env.NODE_ENV === "production",
httpOnly: true,
maxAge: 24 * 60 * 60 * 1000, // 24 hours
},
}),
);
// Initialize Passport
app.use(passport.initialize());
app.use(passport.session());
// Route-specific middleware and routes
app.use('/applicant', verifyApplicantToken, applicantRoute);
app.use('/validator', verifyValidatorToken, validatorRoute);
app.use('/general', verifyToken, generalRoute);
app.use("/applicant", verifyApplicantToken, applicantRoute);
app.use("/validator", verifyValidatorToken, validatorRoute);
app.use("/general", verifyToken, generalRoute);
// Authentication routes
app.use(router);
export default app;
export default app;