Ala*_*zek 6 cookies redirect google-chrome node.js hapijs
在node.js中(使用Hapi框架)我正在为用户创建链接以允许我的应用程序读取用户帐户.Google处理该请求并询问是否授予权限.然后谷歌使用GET参数作为响应代码重定向到我的服务器,这里我有一个问题.
Google Chrome不会发送包含会话ID的Cookie.
如果我将该cookie标记为cookie编辑扩展中的会话cookie,则会发送该cookie.php中的行为相同,但php在创建会话时将cookie标记为会话,因此不存在问题.我正在使用插件hapi-auth-cookie,它创建会话并处理有关它的一切.我还在hapi-auth-cookie设置中将该cookie标记为非HttpOnly,因为这是第一个区别,我注意到,当我在node.js中检查那个PHP会话cookie和我的时候.我在每次重定向都有响应401缺少身份验证.如果我将光标放在地址栏并按Enter键,一切正常,所以这是重定向的问题.
我的问题基本上是,可能导致这种行为的原因.另一方面,我必须提到firefox在每个请求之后发送cookie而没有任何问题.
重定向后的标题(没有会话cookie):
{
"host": "localhost:3000",
"connection": "keep-alive",
"cache-control": "max-age=0",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
"x-client-data": "CJS2eQHIprbJAQjEtskECKmdygE=",
"x-chrome-connected": "id=110052060380026604986,mode=0,enable_account_consistency=false",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"accept-encoding": "gzip, deflate, sdch, br",
"accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4"
}
Run Code Online (Sandbox Code Playgroud)
点击进入地址栏后的标题(什么工作正常):
{
"host": "localhost:3000",
"connection": "keep-alive",
"cache-control": "max-age=0",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"accept-encoding": "gzip, deflate, sdch, br",
"accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4",
"cookie": "SESSID=very_long_string"
}
Run Code Online (Sandbox Code Playgroud)
Ric*_*ide 17
如果引荐来源网址是不同的站点,则浏览器不会发送严格的 cookie。如果请求是来自不同站点的重定向,就会发生这种情况。使用 lax 可以解决这个问题,或者您可以让您的网站在第一次请求时无法访问严格的 cookie。
我最近遇到了这个问题,并写了有关严格 cookie、引荐来源网址和重定向的更多详细信息。
| 归档时间: |
|
| 查看次数: |
2059 次 |
| 最近记录: |