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


Сервисные аккаунты полезны при настройке App Distribution в среде CI. Аутентификация с помощью сервисного аккаунта позволяет использовать клиентские библиотеки (например, 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"
                  }
              }
          }
      
          // ...
      
      }
      

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

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

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