Firebase:身份验证我如何支持临时模拟身份验证

时间:2020-06-21 07:22:26

标签: firebase firebase-authentication

关于firebase项目,包括: * Web应用程序(反应节点) *职能 *实时数据库 * firebase emailpasswordauth条款

在某些情况下,以主要用户应用程序的使用间隔为例,我希望一个较高特权的辅助用户从同一台物理计算机上执行数据库操作,而所有这些操作都无需注销主要用户。宽松的环境:这是一个教育性应用程序。主要用户是孩子,有时需要老师坐在他们旁边,亲自批准他们的工作。这似乎涉及到一位老师在孩子仍然登录时暂时登录其计算机以标记其数据库项目。这似乎并没有什么方便或标准的方法,但这是我尝试过的/研究:

*临时登录辅助用户注销主要用户。我可以将它们链接起来,例如,登录用户1,登录用户2,执行操作,然后重新登录用户1,但这会丢失很多用户1会话数据。我没有对此进行验证,但我还认为,如果我存储了用户1的凭证令牌以供以后重新登录,则一旦他们注销,它将失效,并且将不再有效。

*似乎使用iframe在某些框架上创建隔离的登录会话可以在某些框架上使用,但到目前为止,我还没有找到一种方法来防止在节点基础平台上共享cookie。

*云功能可以通过firebase admin sdk模拟任何用户。但是,从本质上讲,这是一个安全的环境,我不知道有什么方法可以验证呼叫是否来自经过认证的老师,而不会造成上述任何问题。

*我可以保证浏览器是chrome,否则将受到严格控制。这可能使我能够创建隐身窗口,传递数据库密钥并提示在隔离的环境中登录,该环境在标记完数据库后可以立即关闭。

*幸运的是,这一点是低风险的安全措施。创建一个供所有教师使用的伪纯文本密码,然后仅将数据库中的教师用户与该伪密码在云函数中进行匹配,然后通过模拟对项目进行标记,这是可以接受的。我将其称为“泡泡糖”解决方案。可以,但是会损害安全性。

是否有更好/合适的方法来实现这一目标?谢谢您的反馈。

0 个答案:

没有答案