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

How to handle httpOnly cookie authentication in next.js with apollo client

根据我通常的经验,我开发的所有单页应用程序都使用 JWT 作为身份验证机制。我发现 api 为此使用了 httpOnly cookie。

由于我们无法通过 javascript 访问此类 cookie 以了解它是否存在,因此如何在 React 应用程序中处理它?

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

但我相信这与 next.js 服务器端渲染效果不佳?我们使用允许设置自定义 headers 和缓存的 apollo 客户端进行设置。

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

httpOnly只是表示这个值不能被JavaScript读取。

因此您向服务器发出 HTTP 请求,它会 return 响应 Set-Cookie header。

然后任何未来的请求都会自动包含 cookie。

(请确保您设置了 withCredentials 或等效项。)