IT WORKS (session stored in redis, must add a password next)

This commit is contained in:
batche
2022-11-03 18:49:00 +01:00
parent 03b90690ce
commit 08d02e709b
4 changed files with 36 additions and 54 deletions

View File

@@ -3,50 +3,42 @@ import { ValidationPipe } from '@nestjs/common';
import { AppModule } from './app.module';
import * as session from 'express-session';
import * as passport from 'passport';
import {createClient} from 'redis';
import * as redis from 'redis';
import * as connectRedis from 'connect-redis';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const client = createClient(
const app = await NestFactory.create(AppModule);
const port = process.env.PORT || 3001;
const client = redis.createClient(
{
url : process.env.REDIS_URL,
socket: { host: process.env.REDIS_HOST, port: parseInt(process.env.REDIS_PORT) },
legacyMode: true,
}
);
client.connect();
const RedisStore = connectRedis(session);
client
.connect()
.then(async (res) => {
console.log('connected');})
.catch((err) => {
console.log('err happened' + err);
});
client.on('error', (err) => {
console.log("Redis error: " + err);
});
client.on('connect', () => {
console.log("Redis connected");
console.log("Redis Connected");
});
// module afin de créer un pipe de validation qui va nous aider
// à valider les données qui sont envoyées par les utilisateurs
app.useGlobalPipes(
new ValidationPipe({
//permet une liste blanche
whitelist: true,
//interdit les propriétés non autorisées
forbidNonWhitelisted: true,
//permet de transformer les données en fonction de leur type
transform: true,
transformOptions: {//permet de transformer les données en fonction de leur type
enableImplicitConversion: true,
},
}),
);
const port = process.env.PORT || 3001;
app.setGlobalPrefix('api/v2');
app.use(
session({
// module afin de créer un pipe de validation qui va nous aider
// à valider les données qui sont envoyées par les utilisateurs
app.useGlobalPipes(
new ValidationPipe({
//permet une liste blanche
whitelist: true,
//interdit les propriétés non autorisées
forbidNonWhitelisted: true,
//permet de transformer les données en fonction de leur type
transform: true,
transformOptions: {//permet de transformer les données en fonction de leur type
enableImplicitConversion: true,
},
}),
);
app.setGlobalPrefix('api/v2');
app.use(
session({
cookie: {
maxAge: 3600000 * 24,
},
@@ -54,7 +46,6 @@ async function bootstrap() {
resave: false,
saveUninitialized: false,
store: new RedisStore({ client }),
}),
);
app.use(passport.initialize());