Как выполнить аутентификацию с помощью сервисного аккаунта


Сервисные аккаунты полезны для настройки App Distribution в среде непрерывной интеграции. Аутентификация с помощью сервисного аккаунта позволяет использовать клиентские библиотеки (например, Firebase CLI, Gradle и fastlane) для распространения сборок. Когда вы используете сервисный аккаунт для аутентификации, Firebase использует Application Default Credentials (ADC), чтобы найти учетные данные вашего приложения. Вы можете предоставить их, задав переменную среды GOOGLE_APPLICATION_CREDENTIALS или указав путь к ключу сервисного аккаунта в коде приложения.

  1. Откройте консоль Google Cloud и выберите проект.
  2. Нажмите Create Service Account (Создать сервисный аккаунт) и введите сведения о сервисном аккаунте.
  3. Нажмите Создать и продолжить.
  4. Добавьте роль Администратор Firebase App Distribution и нажмите Готово.
  5. Создайте закрытый ключ JSON и переместите его в место, доступное для вашей среды сборки. Храните этот файл в надежном месте, поскольку он предоставляет доступ с правами администратора к App Distribution в вашем проекте Firebase.
  6. Пропустите этот шаг, если вы создали приложение после 20 сентября 2019 г. В Google API Console включите Firebase App Distribution API. При появлении запроса выберите проект с тем же названием, что и у проекта Firebase.

  7. Укажите учетные данные сервисного аккаунта:

    • Только для Gradle. В файле build.gradle задайте для свойства serviceCredentialsFile значение, соответствующее вашему JSON-файлу закрытого ключа:

      android {
      
          // ...
      
          buildTypes {
              release {
                  firebaseAppDistribution {
                      serviceCredentialsFile="/absolute/path/to/credentials/file.json"
                      releaseNotesFile="/path/to/releasenotes.txt"
                      testers="ali@example.com, bri@example.com, cal@example.com"
                  }
              }
          }
      
          // ...
      
      }
      

      При необходимости вы можете предоставить учетные данные коду приложения, выполнив следующие действия.

    • Для Firebase CLI, fastlane или Gradle. Укажите в переменной среды GOOGLE_APPLICATION_CREDENTIALS путь к JSON-файлу закрытого ключа:

      export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json