【问题标题】:Limit Firebase Google OAuth Authentication to specific users将 Firebase Google OAuth 身份验证限制为特定用户
【发布时间】:2015-04-09 21:48:48
【问题描述】:

我正在使用 Firebase 为我的网站处理我的 Google OAuth 登录。有谁知道如何限制有权访问该应用程序的用户?例如,我只希望 x@gmail.com、y@gmail.com 和 z@gmail.com 能够通过 google 成功登录到我的应用程序。

我不确定这是 Firebase 还是 Google 的问题,但我们将不胜感激。

【问题讨论】:

  • 我不知道我是否错了,但是是否可以在您的数据库上创建 allowed_email_list 并检查输入的电子邮件是否存在,然后只允许登录。

标签: oauth-2.0 firebase google-authentication


【解决方案1】:

Firebase 的身份验证仅处理:通过您启用的任何机制对用户进行身份验证。这些用户是否有权访问您的数据称为授权,并通过 Firebase 的安全规则进行处理。

所以:

将您的数据的访问权限限制为特定的电子邮件地址当然是可能的。我建议您阅读Firebase's documentation on the its security rules 并尝试在此基础上使其工作。如果您有任何问题,请发布您尝试过的内容,我们将能够为您提供更好的帮助。

【讨论】:

    【解决方案2】:

    这些规则将允许任何人登录,但只有列出的电子邮件地址可以读取或写入数据:

    {
      "rules": {
        ".read":  "auth.email == 'x@gmail.com' || 
                   auth.email == 'y@gmail.com' || 
                   auth.email == 'z@gmail.com'",
    
        ".write": "auth.email == 'x@gmail.com' || 
                   auth.email == 'y@gmail.com' || 
                   auth.email == 'z@gmail.com'"
      }
    }
    

    【讨论】:

    • 酷,但想完全阻止登录。换句话说,他们可以通过谷歌身份验证,但它说你在这个页面上没有被授权,或者其他什么。那会以某种方式使用 .validate 吗?否则,似乎人们可以登录,但他们不能读/写,这没关系,但我宁愿他们根本不登录。
    • @CodeFinity 参见FrankVanPuffelen's post 关于身份验证与授权之间的区别,Firebase 处理前者
    猜你喜欢
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    相关资源
    最近更新 更多