我想将firestore-redux集成到我的Web应用程序中,而不是使用auth通过电子邮件进行身份验证和定义“用户”集合,而是想知道用户是否可以使用其私钥签名消息并将哈希存储为firebase的“ auth.uid”? 示例:而不是像这样使用auth config:
// react-redux-firebase config
const rrfConfig = {
userProfile: 'users'
UseFirestoreForProfile: true // Firestore for Profile instead of Realtime DB
}
,而不是像这样设置安全规则:
// security rules
service cloud.firestore {
match /databases/{database}/documents {
// Allow only authenticated content owners access
match /some_collection/{userId}/{documents=**} {
allow read, write: if request.auth != null && request.auth.uid == userId
}
}
}
我们可以有一个自定义配置,其中文档密钥是用户的公共密钥,并使用用户私钥的签名哈希在安全规则(用于读写)中进行验证吗?
// react-redux-firebase config
const rrfConfig = {
userProfile: <<some public key or ethereum address of user>>
UseFirestoreForProfile: true // Firestore for Profile instead of Realtime DB
}
// security rules
service cloud.firestore {
match /databases/{database}/documents {
// Allow only authenticated content owners access
match /some_collection/{userPubKey}/{documents=**} {
allow read, write: if request.data.signHash!= null && request.data.signHash == resource.data.signHash
}
}
}
在将基于以太坊(区块链)帐户的身份验证用于Firebase存储而不是通常基于电子邮件的身份验证时,这一点很重要。