Аутентификация службы с помощью мгновенного снимка документа FireStore Flutter - PullRequest
0 голосов
/ 08 марта 2020

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

Смысл в том, чтобы использовать Firestore Document Snapshot в мобильном приложении, не запрашивая у пользователей учетные данные. Это должен быть Firestore Document Snap Listener NOT a Document Get Query , потому что мне нужны данные реального времени .

Большинство демонстрационных снимков Flireter Firestore Document Snapshot без аутентификации учетной записи службы. Другие демонстрации аутентификации основаны на учетных данных учетной записи Google или сторонних провайдерах, таких как Facebook или Github, в то время как мне нужна аутентификация приложения / службы .

1 Ответ

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

Вы не должны использовать служебные учетные записи в веб-приложениях и мобильных приложениях. Так как учетная запись службы является высокопривилегированной (и всегда обходится без правил безопасности), она не подходит для установки устройств конечного пользователя в любой форме. Было бы огромной дырой в безопасности, если бы на устройстве пользователя содержалась служебная учетная запись, независимо от того, что вы делаете, чтобы скрыть это.

Сервисные учетные записи предназначены только для использования с защищенным внутренним кодом. Не пытайтесь делать что-то другое, иначе вы столкнетесь с целым рядом проблем с безопасностью.

Единственный поддерживаемый способ прямого и безопасного взаимодействия с Firestore через веб и мобильные приложения - это использование Аутентификация Firebase. Да, это подразумевает, что пользователь вводит свои учетные данные. Это хорошо - вы не хотите, чтобы кто-то выдавал себя за другого. Вы можете изучить анонимную аутентификацию, если хотите создать учетные записи пользователей без учетных данных.

Если вам действительно необходимо выполнить некоторые действия с учетной записью службы, направляемой веб-приложением или мобильным приложением, приложение должно подключиться к бэкэнду через некоторые Конечная точка API. Затем серверная часть может выполнять операции. Если вы сделаете это, имейте в виду, что теперь люди могут получить доступ к конечной точке API, чтобы, возможно, поставить под угрозу вашу систему, и что API должен контролироваться некоторой формой аутентификации (возможно, также Firebase Auth).

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