用例
我正在创建一个付费博客网站,在那里人们可以付费给博主看他们的博客。
我选择的解决方案
我选择了NextJS来构建静态内容(SSG)。有了后备选项,静态内容也可以在站点部署之后生成。
问题
现在,问题是身份验证。我们不能在服务器上对任何传入的请求进行身份验证,比如。
检查身份验证的唯一方法是在客户端。使用useEffect钩子检查当前用户是否经过身份验证。
但是,这种方法的问题是,任何用户都可以在客户端禁用javaScript来查看内容。
是否有任何方式在服务器端通过身份验证SSG页面请求。
我不想使用SSR因为增加了成本。
发布于 2021-08-20 22:04:04
您可以使用名为Auth0的服务来实现静态站点身份验证。它每月可释放数千次请求,并具有可供使用的React组件。请确保遵循auth0-react的教程,而不是nextjs-auth0 (这是针对SSR的)。
下面是指向Auth0:https://auth0.com/的链接
发布于 2021-12-15 15:29:00
如果用户在SSG上进行身份验证,则可以返回null。如果您没有通过API加载任何内容,那么用户将能够在代码中看到它(但不会有很多用户这样做)。如果您还没有解决此问题,现在可以选择Vercel Edge函数。
https://stackoverflow.com/questions/67645845
复制相似问题