根据我的常规经验,我从事的所有单页应用程序都使用JWT作为身份验证机制。我遇到了为此使用httpOnly cookie的api。
由于我们无法通过javascript访问此类cookie以了解其是否存在,因此如何在react app中处理它?
我最初的想法是通过sessionStorage
成功登录时设置一些跟踪项来跟踪此问题,如果收到与身份验证有关的错误,请将其删除。
但是,我相信这与next.js服务器端渲染不太兼容吗?我们使用apollo客户端对其进行了设置,该客户端允许设置自定义标头和缓存。
是否有一种通用的方法可以通过上述设置来处理此身份验证过程?
httpOnly
只是意味着该值不能被JavaScript读取。因此,您向服务器发出HTTP请求,它将返回带有Set-Cookie标头的响应。
然后,任何将来的请求将自动包含cookie。
(只需确保设置了withCredentials或同等功能。)