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

时间:2018-07-20 12:04:58

标签: javascript reactjs graphql apollo next.js

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

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

我最初的想法是通过在成功登录后设置一些sessionStorage来进行跟踪,如果我收到与身份验证相关的错误,请将其删除。

但是,我认为这不能与next.js服务器端渲染一起使用?我们使用apollo客户端对其进行了设置,该客户端允许设置自定义标头和缓存。

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

1 个答案:

答案 0 :(得分:1)

httpOnly仅表示该值无法被JavaScript读取。

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

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

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