gpt4 book ai didi

ios - 如何将用户注册限制为 Firebase 中的某些域?

转载 作者:行者123 更新时间:2023-11-29 00:20:16 26 4
gpt4 key购买 nike

我有一个 iOS 应用程序,我想限制访问权限,使其仅供来自特定电子邮件域的用户使用。该应用程序要求用户使用他们的 Google 帐户登录。我在网上找到了各种建议添加的答案

".read": "auth.token.email.endsWith('gmail.com')"

但这似乎并没有在登录页面中返回错误,只有当有问题的用户尝试访问数据库时才会返回错误。有什么建议吗?

最佳答案

你必须强制执行这一点。您有多种工具可以做到这一点:

  1. 在 signInWithCredential 解析后,您可以检查域并确认它是 google.com 提供商。如果您允许电子邮件/密码用户,您也需要验证这些用户。如果用户不符合您的条件,请对用户使用删除 API 并向用户发出错误,告知他们需要使用特定帐户登录。

  2. 强制检查您的规则,因为您不能总是信任客户端。确保如果用户注册且未被删除,他/她就无法访问数据。

  3. 使用具有用户创建触发器的 Firebase 函数。创建用户时,检查是否满足您的条件,如果不满足,请使用 firebase-admin 模块删除该用户。

  4. 如果您使用适用于 iOS 的 Google 登录库来获取 Google 凭据,您可以在 Firebase 中 signInWithCredential 之前检查 Google 用户电子邮件和 Google ID token 并阻止登录尝试。

  5. 编写您自己的清理脚本:如果您托管自己的服务器并且不想使用 Firebase Functions,您可以运行每日脚本,使用 Firebase CLI SDK 下载所有用户,然后删除所有用户使用不符合您的条件的 firebase-admin SDK。

关于ios - 如何将用户注册限制为 Firebase 中的某些域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com