【问题标题】:How can i validate password in firebase? (Not user credentials)如何在firebase中验证密码? (不是用户凭据)
【发布时间】:2020-01-22 13:43:56
【问题描述】:

我想在 firebasereal time 数据库 中有一个 db 集合,其中包含一个 name 和一个 密码

node:
  |_ name1: password
  |_ name2: password

换句话说,例如有一个受密码保护的房间,有人想加入。 验证的一种方法是通过 nameId 从数据库中请求密码,然后将其发送回客户端,然后在客户端进行验证。但是将密码发送给客户端似乎不是一个好主意

是否有服务器端验证?就像将 nameId 和密码发送到 firebase 并在那里进行身份验证?

另一个问题,我如何使用 firebase 对密码进行哈希处理? 它是用户验证之后的第二层验证(singInWithEmailAndPassword 是第一层)。

【问题讨论】:

    标签: javascript angular firebase google-cloud-firestore


    【解决方案1】:

    如果您希望只有在用户知道某个“密码”时才能访问房间,我通常将该密码嵌入房间的名称/ID 中。这样用户就必须知道房间的名称才能阅读它。

    然后,您可以通过禁止用户查询房间集合来使用 Firebase 的服务器端安全规则来保护这一点。换句话说,如果他们知道名称,他们可以读取单个房间,但他们无法获得所有房间的列表。

    有关此类规则的示例,请参阅:Allow unregistered users to query Firestore to check if an E-Mail already exists

    【讨论】:

    • 例如name = "some name", password = "1234" 那么id就是id = "some name1234"?我想做的是,将名称和密码发送到 firebase,然后一个函数验证数据库是否包含它们。
    猜你喜欢
    • 2019-05-27
    • 2021-12-19
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2023-04-09
    • 2016-11-19
    • 2021-05-20
    • 1970-01-01
    相关资源
    最近更新 更多