如何获取和删除特定域的仅HTTP cookie?

时间:2018-07-06 13:20:30

标签: angular cookies session-cookies

我有一个登录组件,在成功响应后,将设置一个cookie set-cookie: COOKIENAME=b4a70c42sd23d2f32defe61b772366e12b59; Path=/; HttpOnly

我正在尝试在每次登录前删除此Cookie "Accessible to script No (HttpOnly)" ,换句话说,我尝试检查是否存在/仍然存在该特定域的Cookie,然后删除它。

我一直在尝试不同的方法来管理此问题,但是它没有用。首先,我什至无法在浏览器控制台中获取Cookie。它总是空的,或者说没有cookie。

`
 ...
 import { CookieService } from 'ngx-cookie-service';
 ...

 constructor(private cookieService: CookieService) {
     console.log( `${ this.cookieService.get('cookieName')}` );
     console.log( `browser.cookies.getAll() ==> ${ document.cookie.getAll() }`);
 }`

即使试图获取所有浏览器cookie cookies.getAll(),它也只是空的,因为它不适用于HTTP-Only cookies

我使用了ngx-cookie-serviceangular2-cookieng2-cookies,当然还有constructor()等中的调用,但始终没有价值。

当我通过chrome settings搜索特定的域cookie时,我会获得该域的所有cookie。

P.S。请求从我的本地主机发送到外部域(备份测试服务器)。域在响应后设置cookie,然后在我的浏览器(chrome)上设置。

我找到了一种similar question,但是首先没有提供解决方案/答案,其次似乎也不是我想要达到的目标。 还有一个答案为 it's not possible to remove a http-only cookie outside the HTTP 的问题。

  

但是,如果cookie是httpOnly cookie(设置了httpOnly参数的cookie),则无法从HTTP外部读取,更改或删除它。

我要去哪里错了?在发送带有凭据的邮件之前,是否有可能在HTTP请求中保留/删除仅HTTP的cookie?

0 个答案:

没有答案