我正在寻找有关系统设计的一些指导。我一直是后端服务器开发人员,但一直在研究一些前端组件,却无法决定最佳的处理方式。
我有一个非常基本的网站,其中有几个页面,例如“用户”页面,“项目”页面,“评论”页面。 这些领域中的每一个领域都有一个后端微服务,为相关的CRUD REST API提供服务(用户服务,项目服务,审阅服务)。 最重要的是,还有用于令牌创建等的单独的auth(oauth2)服务。
现在我正在考虑以下问题:
Nodejs服务器托管Web内容并将其提供。 用户点击登录页面,节点服务器接收该登录页面,并通过身份验证服务器进行调用(使用相关的client_id,用户名,密码等),并收到JWT令牌,节点服务器在设置了登录页面后将用户重定向JWT在本地存储中转到其“用户”页面。 然后,用户可以浏览网站并转到“项目”页面,nodejs接收到此请求,并对在请求中提供令牌的项目微服务API进行相关调用(全部获取)。信息返回给nodejs,并为用户提供页面。
这听起来像是合理的解决方案?我问是因为我正在查看的许多信息/示例通常都是基于nodejs服务器中托管的所有内容(所有API:身份验证,用户,项目等)。而就我而言,它们都是分开的(我对此无能为力)。
与此有关的另一个问题是如何管理令牌有效性。最好使用jwt管理npm,并且当每个请求都从客户端发送到节点服务器时,检查到期时间,等等。我认为注销/删除令牌并重定向到登录页面会更容易。而不是每次都访问身份验证服务器。
这有点吗?我什至需要节点吗?我应该通过客户端框架来处理吗?
谢谢。