【问题标题】:GCP Identity platform integration with golang backendGCP Identity 平台与 golang 后端集成
【发布时间】:2023-02-01 22:02:48
【问题描述】:

我正在开发必须具有 3 种类型的用户(用户、管理员、合作伙伴公司)的网络平台。对于身份验证,我正在考虑使用具有多租户功能的谷歌身份平台(可能是一个租户中的用户和管理员在不同的租户中)。

正如我从文档中了解到的那样,我们如何将身份平台集成到我们的应用程序是从控制台创建身份平台提供程序并将其集成到带有 UI 的前端。在前端,无需联系后端服务,我们可以通过调用 firebase SDK 来注册、登录和注销,它会为我们提供身份验证令牌。从后端,我可以使用中间件检查该令牌,并决定我是否同意用户通过身份验证。如果我错了,请纠正我。

然后我可以从令牌中获取经过身份验证的用户的一些元数据,可能是电子邮件或姓名等。但我也想将用户相关信息存储在 noSQL 数据库中。例如,如果用户想更改他的电子邮件,我需要在后端服务器中处理它,另外,我想存储用户日志(访问和审计日志在其他地方)。如果,我正在使用前端 UI 和 SDK,如何在我的后端记录访问和审计信息?另外,当更改用户信息时,我是否只在后端使用 REST API 或 Admin SDK 更新用户数据编写处理函数?这里的最佳做法是什么?或者我应该更好地在后端编写自己的登录和注销功能,然后调用 REST API 或 Admin SDK?有首选方法吗?谷歌只向我展示了前端身份验证的集成方式?

顺便说一句,我正在 google cloud run 上部署后端应用程序,前端将在 react 中开发,也应该部署在 firebase 或 cloud run 中。

谢谢

【问题讨论】:

    标签: google-cloud-platform google-identity


    【解决方案1】:

    根据 Documentation,是的,您对将身份平台集成到应用程序的理解是正确的。

    您可以将用户相关信息存储在 noSQL 数据库中,例如 Firestore 或 Firebase 实时数据库。您可以编写 Rest API 来更改或更新数据库中的用户信息。

    如果你想自己写登录和注销功能,我认为没有必要,因为Firebase Admin SDK提供了这些功能。但是如果你想在后台管理用户认证,具体需求,你可以在后台写自己的登录和注销功能,使用Firebase Admin SDK

    对于访问和审核日志信息,您可以使用Firebase Analytics,Firebase Analytics 可帮助您了解用户在您的应用程序中执行的操作。它具有您在应用程序分析工具中期望的所有指标,并结合设备类型、应用程序版本和操作系统版本等用户属性,让您深入了解用户如何与您的应用程序交互。

    但最后,最好的方法取决于您的要求和用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      相关资源
      最近更新 更多