【问题标题】:How to handle httpOnly cookie authentication in next.js with apollo client如何使用 apollo 客户端在 next.js 中处理 httpOnly cookie 身份验证
【发布时间】:2018-12-28 17:49:33
【问题描述】:

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

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

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

但是我相信这不适用于 next.js 服务器端渲染?我们使用 apollo 客户端设置它,允许设置自定义标头和缓存。

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

【问题讨论】:

    标签: javascript reactjs graphql apollo next.js


    【解决方案1】:

    httpOnly 只是表示 JavaScript 无法读取该值。

    所以你向服务器发出一个 HTTP 请求,它会返回一个带有 Set-Cookie 标头的响应。

    那么以后的任何请求都会自动包含 cookie。

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

    【讨论】:

    • @EricBurel — 这是一个见仁见智的问题,取决于上下文。
    • 我正在尝试收集有关这个精确主题的信息,这在有关身份验证的文章中并不经常涉及,您是否有可以优先考虑另一种情况的示例?在 Next 中,localStorage 的一个具体问题是您无法在 SSR 期间获取身份验证令牌,因为您无法控制请求内容。
    • SO 问题的 cmets 中没有空间来就该主题进行体面的讨论。
    猜你喜欢
    • 1970-01-01
    • 2022-01-01
    • 2021-10-12
    • 2020-12-04
    • 1970-01-01
    • 2021-02-02
    • 2019-10-29
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多