我有一个用于 SaaS 应用程序的带有 Express 的 node
服务器。 node
/express
应用程序为公司登陆页面、注册或用户、身份验证、用户和密码更改提供服务。这都是使用 node
/expre
ss 构建的。使用passport
完成身份验证。
当用户登录时,他会被重定向到使用 React
、react-route
和 Redux
构建的仪表板应用程序(SaaS 应用程序本身)。 Redux
需要调用当前位于同一个 node
/express
服务中的 node
/express
API。
这些 API 还将被使用 React Native
开发的移动应用程序使用。
我们希望将服务拆分为不同的 Node 模块,一个用于 SaaS 应用程序,另一个用于处理公司页面、注册等。向微服务架构迈进。
我们的疑问是如何处理用户身份验证。我们需要一个单一的身份验证机制,允许用户使用 React
SaaS 应用程序,并为移动应用程序提供服务。
如果用户从网络登录,他可以通过 API 使用 SaaS 应用程序。如果他从移动设备登录,则可以从移动设备使用 API。
这是我们拆分服务器的第一种方法,希望找出解决身份验证问题的推荐方法。当然,如果我们可以将身份验证服务拆分为另一个微服务,那就非常有趣了。
预先感谢您的帮助。
最佳答案
看看以此类工作为生的身份验证提供商。 auth0和 Stormpath这是两个例子,但还有更多。
使用他们的 API 设置应用程序并将其插入 Express。完成此过程后,您将更好地了解您可能需要哪些功能以及需要在 API 中实现哪些功能才能使用它们。
在审核结束时,要么使用其中一项服务,要么使用 Passport.js 实现您所需功能的缩减版本。 .
关于node.js - 验证应用程序和 API 微服务的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237967/