【问题标题】:NextJS static SSG authenticationNextJS 静态 SSG 认证
【发布时间】:2021-08-11 05:03:37
【问题描述】:

用例

我正在创建一个付费博客网站,人们可以在该网站上向博主付费以查看他们的博客。

我选择的解决方案

我选择了 NextJS 来构建静态内容(SSG)。使用后备选项,静态内容也可以在站点部署后构建。

问题

现在,问题是身份验证。我们无法验证服务器上的任何传入请求,例如 SSR

检查身份验证的唯一方法是在客户端。使用useEffect钩子检查当前用户是否经过身份验证。

但是,这种方法的问题在于,任何用户都可以在客户端禁用javaScript 来查看内容。

有没有办法在服务器端验证 SSG 页面请求。

我不想使用 SSR,因为会增加成本。

【问题讨论】:

    标签: authentication static next.js


    【解决方案1】:

    您可以使用名为 Auth0 的服务来实现静态站点身份验证。它每月最多免费提供数千个请求,并且具有您可以使用的 React 组件。确保遵循 auth0-react 而不是 nextjs-auth0 的教程(这是针对 SSR)。

    这里是 Auth0 的链接:https://auth0.com/

    【讨论】:

      【解决方案2】:

      如果用户在 SSG 上进行身份验证,您可以返回 null。如果您不通过 API 加载任何内容,那么用户将能够在代码中看到它(但没有多少用户会这样做)。如果您还没有设法解决此问题,现在可以选择 Vercel Edge Functions。

      【讨论】:

        猜你喜欢
        • 2022-01-08
        • 1970-01-01
        • 2022-06-28
        • 2013-06-05
        • 1970-01-01
        • 1970-01-01
        • 2021-04-23
        • 2021-05-05
        • 2022-12-23
        相关资源
        最近更新 更多