【问题标题】:Multiple apps within firebase project sharing workflowsFirebase 项目共享工作流中的多个应用
【发布时间】:2019-06-07 11:39:25
【问题描述】:

我计划在一个 firebase 项目中拥有多个 PWA 站点。 计划是通过 app1.domain.com、app2.domain.com、app3.domain.com 访问它们。

尽管这些应用程序在原则上有所不同并且理论上彼此之间没有任何关系(目前),但它们确实共享一些资产,包括统一的消息服务、帐户和个人资料管理等等。

此外,计划是在应用程序之间共享尽可能多的工作流。例如,我希望身份验证工作流与应用程序无关,这样只需一次登录,用户就会在所有应用程序中自动进行身份验证。

为了澄清我的意思,一个身份验证过程的示例:

  1. 用户访问 app1.domain.com
  2. 用户在 app1.domain.com 中单击“登录”按钮并被重定向到 login.domain.com
  3. 用户输入他们的凭据,通过身份验证并自动重定向回 app1.domain.com
  4. 用户可以不受限制地使用 app1.domain.com,因为他们已经过身份验证
  5. 用户输入(在同一浏览器中)app2.domain.com
  6. 用户自动进行身份验证,就像他们在 app1.domain、com、app2.domain.com 等中一样。
  7. 用户点击 app2.domain.com 中的“注销”按钮,并在所有应用中退出。

如何实现这种行为?理想情况下,该解决方案将使用多个 Vue.Js 项目,因为在开发过程中处理多个项目比处理一个庞大的项目更容易。

在此先感谢,如果有任何帮助,我们将不胜感激。

【问题讨论】:

    标签: firebase vue.js workflow progressive-web-apps


    【解决方案1】:

    这里有很多需要考虑的地方,我发现自己一开始也是这么想的。然而,一些研究使我为每个 Firebase 项目设置一个应用程序。以下是一些原因:

    • Firebase 建议每个项目使用 1 个应用(包括多个平台)(对于单个项目中可以拥有的应用数量存在非官方限制 - 我上次检查时大约 20 个)。
    • 除了重定向闪烁和额外的逻辑之外,让 Web 用户重定向到在 login.domain.com 登录并重定向回来是很好的,但如果未来有可能拥有移动站点,则用户必须能够从每个站点的内部登录应用程序。而是:
    • 您可以为所有应用创建一个通用的 UI 登录组件,并在每个应用的后端创建一个可调用的 Cloud Function 来与一个通用项目进行跨项目连接(该项目没有前端,但只有一个用于 Auth 的后端, Firestore,普通用户的功能等)。或者只是在公共项目中创建一个“/login”https 云函数,然后从其他项目向它发出异步请求。
    • 您仍然可以使用相同的子域特定托管设置。
    • 轻松管理每个应用的分析、测试、配置等。
    • 可以轻松地为每个应用委派 Firebase 管理员角色/权限。
    • 易于组织(1 个应用 = 1 个编辑器窗口 = 1 个 Firebase 项目 = 1 个代码库)。

    这些只是几点,但我希望它有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-07-26
      • 2014-07-07
      相关资源
      最近更新 更多