Мы можем безопасно запрашивать документы, используя UID аутентифицированного пользователя, используя такие правила firestore:
service cloud.firestore {
match /databases/{database}/documents {
match /stories/{storyid} {
// Only the authenticated user who authored the document can read or write
allow read, write: if request.auth != null && request.auth.uid == resource.data.author;
}
}
}
Но я не могу найти, как заполнить данные с помощью UID аутентифицированного пользователя.
Приведенный ниже документ работает нормально, но он был отправлен со стороны клиента, и я не думаю, что он безопасен, так как запрос мог подделать UID другого пользователя.
{
title: "A Great Story",
content: "Once upon a time...",
author: user.uid,
published: false
}
В основном я нужно значение UID пользователя с сервера Firebase, точно так же, как мы можем вставить метку времени с сервера с помощью firestore.FieldValue.serverTimestamp()