使用Angular 6.1.3。
登录请求正在响应中发送JSESSIONID cookie。但是,任何后续请求均不包含此cookie。在搜索中最多提及的是withwithCredentials的使用:true。但是,我正在使用它,但仍然没有成功。在Chrome和Firefox上都尝试过。
任何帮助将不胜感激。
一次,存在另一个cookie,并且带有凭据导致包含该cookie,但不包含JSESSIONID。非常令人沮丧。
我也尝试过手动访问JSESSIONID来自己包括它,即使这不是必需的。但是,即使“观察:'响应'”也不允许我看到JSESSIONID cookie的值。因此,如果我必须走这条路线,请告知如何访问此路线。
对发送的请求类型是否有限制?即使我尝试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);
答案 0 :(得分:0)
Cookie具有“安全”指令,并且您尝试访问的网站不安全。
仅通过HTTPS协议以加密请求将安全cookie发送到服务器。