【问题标题】:Restricting user authentication with Firebase使用 Firebase 限制用户身份验证
【发布时间】:2020-02-11 10:50:38
【问题描述】:

我正在使用 Firebase 对我的应用程序上的用户进行身份验证,但由于该应用程序处于早期阶段,我想将登录(或注册)限制为仅具有特定代码的用户。

看起来没有这样的选项,我想知道是否有任何不涉及后端的解决方案。

现在我在数据库中使用用户在登录时必须输入的特定代码。如果该代码不正确,您将无法登录。问题是该功能(显然)是在前端执行的,因此具有正确知识的人可以轻松修改代码并且仍然无需令牌即可访问。

有更强大的解决方案吗?

【问题讨论】:

标签: firebase-authentication


【解决方案1】:

如果你真的不想要后端,你可以在底部看到我的答案How to protect firebase Cloud Function HTTP endpoint to allow only Firebase authenticated users?,这涉及到利用每个 firebase 项目也是谷歌云平台项目和 GCP 允许私有功能的事实。

但是,有一种更简单的方法:只需使用 if 子句包装您的云函数逻辑,该子句在实际执行函数之前检查许多事情中的任何一项

例如,假设您在 Web 平台上,当有人从前面调用 HTTPS 可调用函数时,它将与 datacontext 对象一起发送。

您可以检查 context.auth.email 以限制特定用户。或者您可以检查data.mySecretKey,并且由于检查是在您的云功能中进行的,因此没有人可以检查您的代码以找到密钥。

【讨论】:

    猜你喜欢
    • 2015-07-23
    • 2018-06-22
    • 2016-05-13
    • 1970-01-01
    • 2018-12-14
    • 2021-07-31
    相关资源
    最近更新 更多