Angular 8 получает заголовок "Set-Cookie" от HttpResponse - PullRequest
0 голосов
/ 17 октября 2019

У меня есть следующий метод Java Spring REST API:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity login(@RequestBody LoginRequest request) {
    request.getSession(true);
    LoginResponse res = this.authService.login(request);
    return new ResponseEntity<>(res, HttpStatus.OK);
}

При вызове с использованием Postman или из браузера FireFox я четко вижу заголовок "Set-Cookie":

enter image description here

Тем не менее, когда я использую console.log для печати ответа в Angular, я не вижу этот заголовок:

enter image description here

Это вызов REST на Angular:

this.http.post<Login>(this.url, this.loginRequest, {
  headers: AuthService.getHeaders(),
  observe: 'response',
  withCredentials: true
}).subscribe(
  response => {
    console.log(response);
});

Я добавил withCredentials: true и observe: 'response' к вызову запроса, как предложено, и я получаюВесь ответ, но без печенья. Что я хочу сделать, так это получить cookie после успешного входа в систему, который впоследствии будет доставлен с любым запросом на аутентификацию на сервере.

Спасибо за помощь!

1 Ответ

0 голосов
/ 22 октября 2019

Похоже, что браузеры не передают файлы cookie клиенту, если это не https. Мне нужно было следовать этому руководству , чтобы обслуживать приложение в режиме https, и затем я смог увидеть файл cookie на стороне сервера.

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