(ищу) Альтернатива заявкам пользователей в Firebase, где поля / значения могут быть изменены без предварительного выхода из системы? - PullRequest
0 голосов
/ 17 декабря 2018

Вопрос:

Существует ли механизм 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
    });

});

...