Вопрос:
Существует ли механизм Firebase, отличный от Пользовательские утверждения , где поле / значение времени выполнения может быть установлено на * 1008 пользователя* auth session через облачную функцию ... и затем измените это значение - или добавьте / удалите сами поля - без необходимости сначала выходить из системы и снова входить в систему?
ИзОблачная функция, я использую Заявления пользователей Firebase , чтобы установить идентификатор документа в поле chatFlatList
, к которому можно получить доступ через правило безопасности Firebase Storage
match /schools/{schoolId}/chats/{discussionId}/messages {
allow write: if false;
allow read: if request.auth != null
&& request.auth.token.chatFlatList.matches(discussionId);
}
Опубликовать с помощьюподробности прецедента
Проблема, с которой я сталкиваюсь сейчас:
- Если я хочу изменить значение
chatFlatList
- кажется, это может быть сделано, только если пользовательские журналысначала, а затем снова входит в систему - где значение поля может быть установлено «в первый раз» с потенциальным обновленным значением .
Для ясности - я заметил, что независимо от того, какую первую реализацию пользовательской заявки вы вызываете, и какие поля / значения установлены, это то, что остается на время входа пользователя в систему.Я вижу, по крайней мере, пока.
Под Вопрос A:
Я не заметил эту деталь при просмотре различных документовна претензии пользователя.Это где-то обсуждалось?
Код претензии пользователя:
return firebaseAdmin
.auth()
.setCustomUserClaims(
uid, {
chatFlatList : 'id1 id2'
}
)
.then(() => {
// process final response for client
});
});