【发布时间】: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