微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

res.clearCookie在本地工作,但尚未部署到生产中

如何解决res.clearCookie在本地工作,但尚未部署到生产中

我正在使用我的apollo服务器来处理问题,并在用户登录或注销时清除cookie。 Cookie在本地会像应有的方式被清除,但是一旦我们将应用程序部署到生产服务器后,Cookie仍然没有错误或警告。

成功登录后将调用

sendCookies 成功注销后将调用clearCookies

更新:由于.被附加到引起问题的域的开头,因此看起来像是它。关于为何将.附加到.的任何想法,即使其将域设置为apps.dbiservices.com。我尝试对其进行硬编码,结果却相同。我知道有文章指出它忽略了// used to expire when day rolls over const midnightExpiration = (date) => { return new Date(date.getFullYear(),date.getMonth(),date.getDate() + 1,0); }; // extract the domain from the req.origin.header const extractDomain = (url) => { return new URL(url)?.hostname; }; // used to create our cookie const cookieCreationoptions = (host) => { return { expires: midnightExpiration(new Date()),domain: process.env.NODE_ENV === 'production' ? COOKIE_DOMAIN : extractDomain(host),path: '/',httpOnly: true,secure: process.env.NODE_ENV === 'production' ? true : false,sameSite: 'Strict' } } // used to set the expiration options for our cookies const cookieExpirationoptions = (host) => { return { expires: new Date(0),sameSite: 'Strict' } } // sends our cookies const sendCookies = (req,res,newTokens) => { if (stringToBoolean(USE_COOKIES)) { res.header('Access-Control-Allow-Credentials',true); res.header('Access-Control-Allow-Origin',req.headers.origin); res.cookie('x-access-token',newTokens.accesstoken,cookieCreationoptions(req.headers.origin)); res.cookie('x-refresh-token',newTokens.refreshToken,cookieCreationoptions(req.headers.origin)); } }; // clears out our cookies const clearCookies = (_req,res) => { res.clearCookie('x-access-token',cookieExpirationoptions); res.clearCookie('x-refresh-token',cookieExpirationoptions); }; ,但这是阻止我的cookie被删除的原因。如果我编辑域并删除。并注销即可

这是我的功能,用于处理cookie选项的构建

override fun onCreate(savedInstanceState: Bundle?) {
  //initialize stuff...
  viewmodel.myData.observe(this) {
    //do things with the data
  }
  lifeCycleScope.launch { viewmodel.loadData() }
}

如前所述,在本地运行两个客户端/服务器时,它都可以正常工作。您可以在“响应标头”中看到正在设置Cookie的任何想法,以了解如何使其更有效

Login response

Cookies

Response Cookies

Response Headers

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。