Использование Angular 6.1.3.
В запросе на вход отправляется файл cookie JSESSIONID в ответе. Однако любой последующий запрос не включает этот файл cookie. При поиске вокруг наиболее упоминается использование использования withCredentials: true. Однако я использую это и все еще не успешно. Пробовал как на Chrome, так и на Firefox.
Любая помощь будет принята с благодарностью.
Одно время присутствовал другой файл cookie, и withCredentials вызывал включение этого файла cookie, но НЕ JSESSIONID. Очень расстраивает.
Я также пытался получить доступ к JSESSIONID вручную, чтобы включить его сам, хотя это не требуется. Однако даже «Наблюдать:« ответ »» не позволяет мне увидеть значение файла cookie JSESSIONID. Поэтому, если мне нужно идти по этому пути, пожалуйста, посоветуйте, как получить к нему доступ.
Есть ли ограничения по типу отправляемого запроса? Даже если я попытался выполнить GET безуспешно, когда ответ будет предоставлен, будет ли он работать с любым типом последующего запроса (т. Е. POST, PUT, PATCH)?
Требуется логин:
const params: HttpParams = new HttpParams().set('token.name', username).append('token.value', password);
const headers: HttpHeaders = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
return this.httpClient
.post<any>(this.loginUrl, params, { headers: headers, params: params, withCredentials: true })
.map(adjudicator => {
return adjudicator.adjudicator as Adjudicator;
})
.catch(this.errorHelperService.handleError);
Ответ на вход в систему
логин Ответов вкладка Cookie
Последующий запрос:
// test request
const headers: HttpHeaders = new HttpHeaders().set('Content-Type', 'application/json');
return this.httpClient
.get<any>(this.configService.getManagerUrl()+'1/bada8257-e7d9-45d3-a8a1-83a67f863260', { headers: headers, withCredentials: true })
.map(response => {
return response.match as Match;
})
.catch(this.errorHelperService.handleError);
Запрос последующего тестирования