Как получить заголовок ответа от ответа POST-запроса - PullRequest
0 голосов
/ 05 мая 2019

Как указано выше.Следующий код не работает.

    public login() {
  const username = "kamczi";
  const password = "password";
    return this.http.post<any>(environment.api_endpoint+'/login', { username, password} , {observe: 'response'}).subscribe(resp=>{
        this.handleAuthentication(resp.headers.get('Authorization'))
    })
  }
  public handleAuthentication(token: string): void {
    localStorage.setItem('access_token', token);
    console.log(token);
  }

Console.log отображает ноль

Мне нужно получить заголовок авторизации, который находится в заголовке моего ответа.

enter image description here

РЕШЕНО

Мне нужно было добавить следующий код в мою конфигурацию безопасности весенней загрузки.

CorsConfiguration configuration = new CorsConfiguration();
configuration.applyPermitDefaultValues();
configuration.addExposedHeader("Authorization"); // this line helped

1 Ответ

1 голос
/ 05 мая 2019

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

Поэтому вам нужно добавить следующий заголовок к ответу, когда вы отправляете его из своего API, и заголовок Authorization будет доступен.

'access-control-expose-headers' : 'Authorization'
...