如何使用Apollo客户端在next.js中处理httpOnly cookie身份验证

JavaScript React.js

老丝阿飞

2020-03-24

根据我的常规经验,我从事的所有单页应用程序都使用JWT作为身份验证机制。我遇到了为此使用httpOnly cookie的api。

由于我们无法通过javascript访问此类cookie以了解其是否存在,因此如何在react app中处理它?

我最初的想法是通过sessionStorage成功登录时设置一些跟踪项来跟踪此问题,如果收到与身份验证有关的错误,请将其删除。

但是,我相信这与next.js服务器端渲染不太兼容吗?我们使用apollo客户端对其进行了设置,该客户端允许设置自定义标头和缓存。

是否有一种通用的方法可以通过上述设置来处理此身份验证过程?

第3574篇《如何使用Apollo客户端在next.js中处理httpOnly cookie身份验证》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
宝儿伽罗 2020.03.24

httpOnly 只是意味着该值不能被JavaScript读取。

因此,您向服务器发出HTTP请求,它将返回带有Set-Cookie标头的响应。

然后,任何将来的请求将自动包含cookie。

(只需确保设置了withCredentials或同等功能。)

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android