如果用户存在,Firebase(AngularFire2)仅允许OAuth登录

时间:2017-03-01 01:19:28

标签: firebase-authentication angularfire2

我想在使用AngularFire2的Angular2应用程序中仅使用 Google OAuth身份验证。但是,当我使用Google登录时,它会自动将这些凭据添加到身份验证/用户区域,即使该电子邮件地址尚未存在。限制仅登录现有用户的正确方法是什么?我是否需要保留单独的用户集合并进行检查?如果是,我是否运行正常登录,然后在承诺解析,检查用户是否在用户集合中?

1 个答案:

答案 0 :(得分:0)

对于它的价值,看起来,是的,需要设置一个单独的集合。我最后添加如下:

{
  "appData": ...
  "otherAppData": ...
  "users": {
             "user@user%2Ecom": { "role": "admin" },
             "user2@user%2Ecom": { "role": "user" }
  }
}

通过设置电子邮件地址(不要忘记转义'。',因为它们不能用作firebase {source}中的键),可以轻松检查用户/ {email_address}是否存在。