angular - 如何获取和删除特定域的 HTTP-Only cookie?
问题描述
我有一个登录组件,在成功响应后,正在设置一个 cookieset-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-service
,当然还有在angular2-cookie
等ng2-cookies
中的调用,constructor()
但总是没有价值。
当我通过chrome 设置搜索特定域 cookie 时,我得到了该域的所有 cookie。
PS 请求从我的本地主机发送到外部域(备份测试服务器)。域在响应后设置 cookie,然后在我的浏览器(chrome)上设置。
我发现了一种类似的问题,但首先没有提供解决方案/答案,其次似乎不完全是我想要实现的目标。还有其他问题的答案是它说不可能在 HTTP 之外删除仅 http 的 cookie。
但如果 cookie 是 httpOnly cookie(带有 httpOnly 参数集的 cookie),您无法从 HTTP 外部读取、更改或删除它。
我哪里错了?在发送带有凭据的 cookie 之前,是否有可能在 HTTP 请求中休息/删除 HTTP-Only cookie?
解决方案
推荐阅读
- javascript - TypeError:从类重构为函数组件后,Object(...) 不是函数
- r - R中for循环和ifelse的组合
- google-drive-api - 出现错误:已超出未经验证使用的每日限制。继续使用需要注册
- node.js - 使用 PayPal 从 nodejs 应用程序汇款
- django - 将对象添加到另一个模型上的 ManyToMany 字段后如何调用 post_save 信号
- video - 如何摆脱黑色边框(视频)?
- python - 包含“n”前行和“m”后行的熊猫滚动窗口
- php - 数组数组的php计数 - 与预期不同的值
- c - glibc 的 isalpha 函数和 en_US.UTF-8 语言环境
- python - Tkinter画布问题,3天前开始编码