Как я могу получить дату сервера firestore для моего приложения angular - PullRequest
0 голосов
/ 24 марта 2020

Моему приложению нужно получить дату сервера firestore, чтобы предоставить пользователю некоторую авторизацию.

В настоящее время я использую новую функцию Date (), как показано ниже, которая дает дату локального компьютера.

 today = new Date()
 if (Utils.getDayDiff(this.signupDate, today > 60 ) {
            // disable the feature
}

Utils.getDayDiff (..) - это функция, которую я написал, чтобы найти разницу в днях между двумя объектами Date.

Есть ли способ инициализировать вышеуказанную переменную today с датой сервера firestore.

Спасибо

1 Ответ

1 голос
/ 24 марта 2020

Если под «датой сервера firestore» вы подразумеваете FieldValue.serverTimestamp(), нет, это значение не присутствует непосредственно в вашем клиентском приложении. Не существует простого способа узнать текущее время Firestore на его собственных серверах.

Лучшее, что вы можете сделать, это написать документ с этим значением поля, а затем прочитать его обратно. К тому времени временная метка будет неточной по количеству времени, необходимого для выполнения этих операций чтения и записи, и не будет работать, если вы находитесь в автономном режиме.

Кроме того, не рекомендуется использовать клиент код для предоставления безопасного доступа к специальным функциям. Код клиента может быть скомпрометирован. Любой вид мер безопасности или ограничений должен в конечном итоге быть применен к бэкэнду, который всегда должен иметь точное чувство времени и не может быть скомпрометирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...