Использование Angular 6.1.3.
Запрос на вход отправляет файл cookie JSESSIONID в ответ. Однако любой последующий запрос не включает этот файл cookie. При поиске наиболее часто упоминается использование withCredentials: true. Однако я использую это и до сих пор не добился успеха. Пробовал и в Хроме, и в Фаерфоксе.
Любая помощь будет принята с благодарностью.
В какой-то момент присутствовал другой файл 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);
вкладка "Ответ входа в систему"
Последующий запрос:
// 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);