实现服务器端渲染(SSR)的认证与请求优化
在开发过程中,实现与服务器端渲染(SSR)相关的认证是解决诸多问题的关键步骤。下面将详细介绍如何实现这一功能,并优化相关流程。
1. SSR 认证的必要性与问题
在 SSR 场景下,由于页面初始加载时 localStorage 无法传输到服务器,导致无法验证用户是否登录,进而不能正确渲染路由。因此,需要将认证方式过渡到使用 cookie,因为 cookie 会随每个请求发送。
不过,使用 cookie 也会引入一些安全问题。对于 GraphQL API,我们仍将使用常规的 HTTP 授权头,以避免潜在的 CSRF 攻击。前端代码继续使用 HTTP 授权头发送所有 GraphQL 请求,而 cookie 仅用于验证用户的认证状态,并发起用于服务器端渲染 React 代码的 GraphQL 请求。
2. 安装与初始化 cookie 包
首先,使用 npm 安装 cookies 包:
npm install --save cookies
在服务器的 index.js 文件顶部,导入 cookies 和 jwt 包,并从环境变量中提取 JWT_SECRET :
import Cookies from 'cookies';
超级会员免费看
订阅专栏 解锁全文
896

被折叠的 条评论
为什么被折叠?



