我有一个使用 React/Node 实现的前端,它使用整体后端。
如今,该后端使用 Spring security 来提供用户登录和身份验证。一旦用户通过身份验证,就会向他提供一个 cookie,然后他继续使用该 cookie。
但是后端将分为 3 个服务:A、B 和用户服务,能够判断用户/通行证对是否正确。
我的想法是只使用 A、B 和用户服务的 api 密钥,并将 cookie 的责任交给 React/Node。所以我的问题是,这是个好主意吗?
否则(在每个服务中使用 Spring security),我必须对每个不同的服务进行身份验证,这将破坏应用程序中的用户体验。
如果这是一个好主意,NodeJS 中是否有一些库在数据库中实现 cookie?
提前致谢
这不是一个 React 问题,而是一个关于你的后端技术的问题。 React 当然可以调用 API、获取 cookie、回复它们等等。
通常,您会希望将所有 API 放在一个公共服务器上(例如
/api/a
、/api/b
和 /api/userService
),然后使用某种类型的更高级别构造来保护所有需要身份验证的 API。因此,您可以在后端的一个位置配置该身份验证检查,并且每个 API 都利用该单一配置。
如果您的 API 不共享公共基础设施(例如在同一服务器/端口上运行),那么您将需要对它们中的每一个进行某种类型的身份验证检查....并且它使得您的 React 编码前端更加痛苦,因为您现在需要跟踪多个服务器,而不仅仅是单个服务器上的多个 API 端点。