Firebase - Firestore - создайте функцию, чтобы проверить, существует ли пользователь в Auth - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу проверить, существует ли пользователь в списке аутентификации пользователей в firebase. Я знаю, что могу использовать:

admin.auth().getUserByEmail(email)
admin.auth().getUser(uid)

Я создаю собственное приложение реагирования, поэтому не могу установить firebase-admin, так как для этого потребуется отправить учетные данные в приложение, что слишком опасно, так как кто-то может выполнить обратный инжиниринг и найти их.

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

Теперь я Я хочу создать там функцию, использующую firebase-admin, и иметь возможность использовать 2 метода, перечисленных выше.

Я обнаружил, что могу создать:

exports.addMessage = functions.https.onCall((data, context) => {
  // ...
});

и вызывать его следующим образом:

var addMessage = firebase.functions().httpsCallable('addMessage');
addMessage({text: messageText}).then(function(result) {
  // Read result of the Cloud Function.
});

Не уверен, что использование https.onCall является лучшим для этого случая или есть лучший способ.

Заранее спасибо.

1 Ответ

1 голос
/ 17 апреля 2020

Насколько указывает документация - доступно здесь - и тот факт, что https.onCall() использует безопасный вызываемый метод (HTTPS) Я считаю, что это лучший вариант для вашего случай, так как установка firebase-admin не подходит под ваш случай.

Официальная документация В спецификации протокола для https.onCall также сказано:

Если вы можете использовать Android, iOS или веб-SDK, рекомендуется сделать это вместо непосредственной реализации этого протокола. SDK предоставляют функции для экономии времени и усилий при кодировании, как подробно описано в Функции вызова из вашего приложения

Итак, это указано, если вы не хотите / не можете использовать SDK , который, я полагаю, это то, что вы говорите. Учитывая это, я считаю, что https.onCall() - это вариант для вашей ситуации.

Дайте мне знать, помогла ли вам информация!

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