Хранение данных с Express -сессией - PullRequest
1 голос
/ 02 апреля 2020

Скажем, вы хотите, чтобы пользователь вводил свою электронную почту посредством ввода, и хотите захватить эту электронную почту и сохранить ее на нескольких веб-страницах. Разве плохая практика - хранить электронную почту в объекте сеанса в express -session?

Что-то вроде:

req.session.email = '<user-email-input-from-client>'

, когда клиент передает ввод электронной почты на сервер.

Дело обстоит позже на других веб-страницах, я хочу получить доступ к электронной почте. Использование объекта сеанса с req.session, чтобы увидеть, существует ли это электронное письмо.

function controller(req, res){
   console.log(req.session);
}
// Output: 
Session {
  cookie:
   { path: '/',
     _expires: null,
     originalMaxAge: null,
     httpOnly: true },
  email: 'test@test.com' }

и проверка / использование его с:

req.session.email

Это небезопасная или плохая практика? Или, если есть лучший, более элегантный способ сделать это, кто-нибудь может дать мне несколько советов?

Заранее спасибо.

1 Ответ

2 голосов
/ 02 апреля 2020

Это хорошая и безопасная практика, если вы устанавливаете «секретный ключ».

const express = require('express'); 
const session = require('express-session')

const app = express();

app.use(session({name: "SessionID",secret: "123"}))
...