Когда я вхожу в свой реактивный веб-сайт, я добавляю идентификатор пользователя к моему req.session:-
if (!valid) {
return {
errors: [
{
field: 'password',
message: 'password not correct'
}
]
};
}
req.session.userId = user.id;
if (req.sessionID) {
await redis.lpush(`${user.id}`, req.sessionID);
}
Но когда я перехожу на экран подачи, у меня есть запрос, который извлекает мои данные с сервера, который, похоже, не работает. когда я утешал журналы, в моем запросе не было моего идентификатора пользователя.
Верхний — когда я вхожу в систему, а следующий — когда я использую Me Query, и для контекста это мой mequery:-
@Query(() => User, { nullable: true })
async me(@Ctx() { req }: MyContext): Promise<User | null> {
console.log('Me Query Resquest is this');
console.log(req.session);
if (!req.session.userId) {
console.log('Not Working');
return null;
}
console.log('User Context');
console.log(req);
const user = (await User.findOne({
where: { id: req.session.userId }
})) as User;
return user;
}
Может ли кто-нибудь помочь мне решить эту проблему? Это код экспресс-сессии в моем индексном файле: -
app.use(
session({
store: new RedisStore({
client: redis as any,
disableTouch: true
}),
name: 'qid',
secret: 'aslkdfjoiq12312',
resave: false,
saveUninitialized: false,
cookie: {
httpOnly: true,
secure: false,
maxAge: 1000 * 60 * 60 * 24 * 90 // 90 Days
}
})
);
Я разместил свой бэкэнд на heroku