我已配置并完成了一个 Web 应用程序和该应用程序的 API,但现在需要更多应用程序。这些应用程序以网络为主,并具有用于移动功能的轻型 API。单一应用程序似乎是不可能的,所以我决定单独制作每个应用程序。每个应用程序都有自己的布局、数据库和 API。然而,我想在所有应用程序之间共享的一件事是用户的密码、api token 和 firebase 消息传递 token 。将创建一个单独的应用程序,仅用于使用ID号、密码、api token 和fcm token 进行身份验证。 4个简单的字段。这个应用程序将是唯一对其数据库和这个表进行任何写入的应用程序。
创建对身份验证应用程序的请求来验证对每个 API 的每个请求似乎效率低下,因此我想知道是否有一种方法可以让应用程序访问身份验证数据库并直接验证 token 和密码。不会有跨应用程序的表连接,也不会跨应用程序创建/更新/删除。保持模型和架构同步的问题是有道理的,但是只读自定义查询会消除这些问题吗?
最佳答案
数据库级别的集成很困惑 - 任何更改都需要在使用它的每个应用程序上进行,并且安全性也是一个问题。
您的问题的典型解决方案(让多个应用程序共享唯一的身份验证源)是 OAuth - 多个应用程序将身份验证委托(delegate)给您的“身份验证应用程序”的一种方式。 Devise 等框架对此提供了很好的支持。 .
关于mysql - 多个 Rails 应用程序读取另一个 Rails 应用程序的单个数据库/表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45830556/