Я собираюсь создать хорошее правило для Firebase и подружить его с моим приложением, я начал с простого - пользователь авторизован:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}
что было сделано для аутентификации моего приложения через google + Firebase:
- сгенерированный файл хранилища ключей
- использование файла хранилища ключей настраивается в graddle, чтобы приложение им подписывалось
- SHA1 добавляется в Firebase
- новые google-сервисы. json загружается в папку приложения
- инструкция , сопровождаемая авторизацией приложения через google ( и официальная )
каким-то образом приложение будет авторизовано по электронной почте, например:
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
// for the requestIdToken, this is in the values.xml file that
// is generated from your google-services.json
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build();
Я считаю, что этот .requestEmail () открывает форму авторизации в пользовательском интерфейсе моего приложения с запросом на ввод электронной почты. почта (комментарий строки не помогает) ...
очки:
- мое приложение подписано через хранилище ключей, и Firebase + google знают, что
- Мне не нужно, чтобы пользователь авторизовал или вводил какую-либо электронную почту
- , все, что мне нужно, - это чтобы мое приложение автоматически авторизованный для Firebase (не заботится о Google, но предпочитает использовать хранилище ключей + SHA1), чтобы правило Firebase работало (а позже заменил на мой истинный uid приложения)
Что лучше / проще всего подход к авторизации приложения для Firebase и фильтрации доступа в правилах БД? (без ввода электронной почты)