Firebase 安全规则无法识别 request.auth.token.name
我想使用用户的显示名称应用安全规则。我使用了signInAnonymously 和updateProfile。
这是我的客户端代码
var firebase = require('firebase/app')
require('firebase/auth')
require('firebase/firestore')
firebase.initializeApp(~~~)
firebase.auth().signInAnonymously().then(({user}) => {
user.updateProfile({
displayName: 'ABC',
}).then(() => {
// {..., uid: '~~~', displayName: 'ABC', photoURL: null}
console.log(user.toJSON())
var db = firebase.firestore()
db.collection('HelloCollection').doc('WorldDoc').get()
.then((doc) => { console.log('Success') })
.then((err) => { console.log('Failed', err) })
})
})
Run Code Online (Sandbox Code Playgroud)
这是我的 Firestore 安全规则
service cloud.firestore {
match /databases/{database}/documents {
match /HelloCollection/{docId} {
// allow read, create, update: if true; // This evaluated true.
// This evaluated false.
allow read, create, update: …Run Code Online (Sandbox Code Playgroud) javascript firebase firebase-security firebase-authentication google-cloud-firestore