Как использовать сессию с происхождением cors и angular? - PullRequest
0 голосов
/ 25 апреля 2019

Моя сессия работает нормально, пока я не попытался разрешить cors.

Сервер:

  app.use(require('express-session')({
    secret: 'some key',
    resave: true,
    saveUninitialized: true,
    proxy: true,
    cookie: {
      secure: false,
      httpOnly: false,
    },
  }));

 app.use(require('cors')());
 @Get('getUserAuthenticated')
 async getUserAuthenticated(@Req() req): Promise<{ user: User }> {
    return { user: req.user };
 }

И я использую прокси:

{
    "/rest": {
      "target": "http://localhost:3000",
      "secure": true,
      "logLevel": "debug",
      "changeOrigin": true,
    }
}

getUserAuthenticated пусто, когда я использую cors. Мне нужно это, чтобы развить цель, так что я скучаю еще?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019

Для тех, кто пытается сделать то же самое:

Сервер:

  const corsOptions = {
    origin: 'http://localhost:4200',
    optionsSuccessStatus: 200,
    credentials: true,
  };
  app.use(require('cors')(corsOptions));

клиент:

get(url) { return this.httpClient.get(url, { withCredentials: true })
0 голосов
/ 25 апреля 2019

Вы должны использовать

{ origin:true, withCredentials:true }

, это позволяет передавать куки вокруг

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...