Я видел несколько сообщений об ошибках на github, но не смог понять мою проблему.У меня есть куки, которые устанавливает сервер.Теперь во время метода POST я хочу передать эти данные обратно на сервер.Это Observable, потому что ответ от сервера определит дальнейшие шаги.Обратите внимание, что у меня нет доступа к бэкэнду, но установлены CORS и учетные данные.Мой текущий код:
public logout () : Observable<any> {
/*
Send a clear session request to cbase
*/
let vm : any = this;
const httpPostOptions =
{
headers:
new HttpHeaders (
{
"Content-Type": "application/x-www-form-urlencoded"
}),
withCredentials: true
};
return new Observable((observer) => {
vm.http.post(
Config.syncGatewayLoginStage + 'logout/', httpPostOptions
).subscribe(
data => {
observer.next(data);
},
err => { observer.error(err); console.log(err); },
() => {
observer.complete();
}
);
});
}
Сервер отвечает с ошибкой 500, что сеанс не существует, и, конечно, я не вижу куки сессии, переданные на сервер в заголовке запроса, даже если я вижу, что куки установлены.
Ответ сервера:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://localhost:4200
Connection: keep-alive
Content-Length: 1406
Content-Security-Policy: default-src 'self'
Content-Type: text/html; charset=utf-8
Date: Wed, 20 Feb 2019 10:09:29 GMT
Vary: Origin
X-Content-Type-Options: nosniff
X-Powered-By: Express