javascript - 如何在 firebase 中验证密码? (不是用户凭据)

标签 javascript angular firebase google-cloud-firestore

我希望在 firebasereal time 数据库 中有一个数据库集合,其中包含名称密码

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

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

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

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

最佳答案

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

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

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

关于javascript - 如何在 firebase 中验证密码? (不是用户凭据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59861118/

相关文章:

ios - 如何识别用户是否打开了 App store 的链接,但当时并没有安装该应用程序?

javascript - 简单的 javascript 在 Shopify 中不起作用

angular - 注销后的 Ionic2 选项卡仍显示在导航页面中,我在这里错过了什么?

javascript - Kendo-UI 中的反向 Y 轴

angular - Typescript vs Tsc vs Ntypescript

angular - 如何更改 Angular Material Datepicker 主题?

java - Firestore : how can read data from outside void onComplete methods

ios - 将 FirebaseUI-IOS 与自定义 UICollectionViewCell 一起使用时出错

javascript - 如何使用 thymeleaf 将翻译放入 javascript

javascript - 避免 FullCalendar 中的事件叠加