首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火柴signIn区别

火柴signIn区别
EN

Stack Overflow用户
提问于 2020-03-23 12:31:54
回答 1查看 112关注 0票数 0

在我的网站上,我有两个登录门户。门户A是为学习者登录。门户B是为教师登录。

学习者和教师的帐户都位于同一个Firebase项目中,换句话说,两种类型的帐户都位于相同的身份验证空间中。这两个门户使用相同的简单登录代码:

firebase.auth().signInWithEmailAndPassword(user_email, user_password).catch(function(error) {})

目前,学习者可以在两个门户网站登录,教师也可以登录。我想做的是阻止老师登录到学习者的门户网站,反之亦然。我不知道如何实施。我创建了一个setCustomUserClaim,以便在身份验证令牌上为这两种类型的帐户提供标识。但是,我只能在用户登录后才能获取auth令牌,而不是在我想之前。此外,我有一个Firestore集合,存储用户的所有信息,包括他们的身份。但是每个用户的文档都用相应的UID命名。后者也可以在登录后被抓取。对如何实现这个有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-23 14:37:59

Firebase身份验证没有内置的方式来区分这两种类型的用户。它只需验证用户输入的凭据,并确保它们是正确的。如果某些用户只能访问某个应用程序或特定数据,则这是必须来自您的信息。

上面的内容很重要,所以我要重复一遍: Firebase身份验证允许所有用户进行身份验证,只要他们提供正确的凭据。它无法阻止基于应用程序特定信息(如用户类型)的身份验证访问。这种类型的授权逻辑是应用程序的一部分,包括代码和服务器端安全规则(如果使用Firebase数据库)。

实现场景的一种常见方法是将有关用户类型的信息添加到数据库中(如Firebase的实时数据库或Cloud )。例如,在这些数据中,您可以存储所有教师的电子邮件地址。

现在,有了这些信息,您的代码就可以确定登录到网站的人是否是教师。如果他们是注册到学生网站的老师,你可以重定向他们,反之亦然。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60813641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档