【发布时间】:2017-12-13 20:53:22
【问题描述】:
我正在做一些事情,我有两个应用程序 - 一个用于“请求者”用户,一个用于“响应者”用户,我目前正在使用 Firebase 进行身份验证。用户使用电子邮件/密码组合登录,这是问题的根源:
问题在于用户冲突 - 因为身份验证模块连接到 Firebase 控制台中的单个项目,响应者可以从技术上登录请求者应用程序,反之亦然,这会导致问题,因为后端conks out - API 不允许他们访问,因为 DB 没有在表中找到他们的数据,并且应用程序行为不正常(阅读:崩溃)。
我知道有类似的问题 (Android - Firebase - Different types of Users Login),但我真正想问的是是否可以通过某种方式避免这种令人讨厌的情况。想到的一些选项是:
- 在数据库中进行手动检查,如果用户类型不正确,则将用户注销 - 可以这样做,但很繁琐,而且会耗费数据/时间。
- 在 Firebase 中仅为每种用户类型创建不同的项目 - 效率低下 - 虽然我使用 Firebase 进行身份验证,但我使用 Mongo 进行存储,所以这并不重要,但如果/当我切换到 Firebase 进行存储时,那么我的服务器代码会因为必须访问不同的数据库来访问请求者和响应者数据而变得复杂、缓慢和混乱
- 推出我自己的身份验证 - 感觉是个坏主意,但它有助于解决眼前的问题,同时打开不同的蠕虫罐,因为我还需要实施 Firebase 云消息传递。
- 切换到另一个身份验证提供程序 - 我愿意在这里接受建议
我还预计响应者可以创建一个帐户并使用请求者应用程序的情况,在这种情况下会发生冲突并需要解决 - 我可以禁止响应者使用相同的电子邮件 ID 以请求者,但这可能无法满足用户可能(并且将)想要对所有事情都使用一个电子邮件 ID 的现实世界场景。
谁能帮助我采取正确的方法和/或对这个问题提出任何提示/解决方案?
----- 2017 年 12 月 14 日编辑--------
我还在同一个项目下列出了两个应用程序(附上屏幕截图),所以我的下一个问题是,当请求者用户尝试登录/注册为响应者时甚至会发生冲突吗?反之亦然?
【问题讨论】:
标签: android firebase-authentication