我正在创建一个带有Fireabse实时数据库后端的聊天室,我希望一些房间受密码保护。我粗略地了解它是如何工作的,但我却无法完全充实它。说我的结构是这样的:
Chatrooms : {
-randomID : {
roomName: 'Chatroom 1',
password: 'foobar'
messages: {
...
}
}
}
我可以为需要密码的房间设置安全结构:
'Chatrooms' : {
-randomID : {
'roomName': 'Chatroom 1',
'password': 'foobar',
'.read': "data.child('validatedUsers/*user's uid*').val() === true",
'validatedUsers' : {
*user's uid* : true,
*other user's uid* : true,
...
}
'messages': {
'.read': false
...
}
}
}
这种方式(根据我的理解)我可以添加已被授予对validatedUsers对象的访问权限的用户,如果他们在列表中,那么顶级.read将覆盖'消息&# 39;读。
我的问题是我无法找到获取密码的安全方法,根据用户输入的内容进行检查,然后将其输入validatedUsers对象。既然这样做不安全,我不需要某种云功能来进行检查吗?现在我考虑一下,我可能还需要一个云函数来散列密码?