Passport.js Поддержка сеанса домена CROS

0

Я разделил свое приложение на 3-шинную структуру. Мой сервер работает на node.js, а front end - это угловое приложение. Я использую паспорт для входа пользователя и проверки подлинности. Поведение, которое я заметил, - это мой вход в паспорт, который не может поддерживать сеанс междоменной сессии в интерфейсном приложении.

Мой сервер работает на localhost: 3000 и в интерфейсе на локальном хосте: 9000.

Я пытаюсь настроить запрос CROS в экспресс, указав параметры как:

  app.use(function(req, res, next) {
     res.header('Access-Control-Allow-Credentials', true);
     res.header('Access-Control-Allow-Origin', req.headers.origin);
     res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
     res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept');
     if ('OPTIONS' == req.method) {
          res.send(200);
      } else {
          next();
      }
     });

также попробуйте модуль cros в nodeJs, но ничто не работает для меня как такового. Любая помощь или предложение приветствуются.

Теги:
express
passport.js
cross-domain

2 ответа

1

Вы должны использовать csurf для предотвращения перекрестного домена.

Всякий раз, когда вы запрашиваете какую-либо страницу, например, если вы запрашиваете страницу входа с сервера на тот момент, сервер посылает токен этому запросу, и вам нужно установить форму со скрытым полем и при отправке этой формы серверу на стороне сервера проверьте этот токен.

https://github.com/expressjs/csurf

http://maximilianschmitt.me/posts/tutorial-csrf-express-4/

0

CROS! = CORS

https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

CORS используется для разрешения запросов только из определенного домена, то есть req.headers.origin

Для поддержания сеанса вам необходимо настроить приложение frontend с паспортом.

  • 0
    В моей таблице сессий приложения passport создает новую переменную сеанса для каждого запроса, как я могу настроить приложение passportJs на angular, чтобы поддерживать один и тот же сеанс на сервере и в приложении переднего плана при любых предложениях
  • 0
    stackoverflow.com/questions/10164312/...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню