Клиент OAuth2 с этим названием пакета и хешем SHA-1 уже существует в другом проекте

Что означает это сообщение?

Эта ошибка возникает в том случае, если вы указываете идентификатор клиента OAuth 2.0 с названием пакета и хешем SHA-1, которые используются в другом проекте Firebase или Google Cloud. После добавления Firebase в приложение Android создается идентификатор клиента OAuth 2.0, который используется для аутентификации приложения с помощью нескольких Google API, например App Invites и Drive API. По соображениям безопасности каждое сочетание названия пакета и контрольной суммы SHA-1, используемое для создания идентификатора клиента OAuth 2.0, должно быть уникальным во всех проектах Firebase и Google Cloud.

Как это может повлиять на мое приложение?

Название пакета и хеш SHA-1 приложений Android необходимо указывать для следующих функций Firebase:

  • Invites: не работает, если не указан хеш SHA-1. Использовать хеш SHA-1 из другого проекта пока невозможно.
  • Authentication: чтобы выполнять авторизацию в случае, когда провайдером является Google, необходимо вручную добавить идентификатор клиента существующего проекта в белый список конфигурации входа.

Что нужно предпринять?

Если вы не используете Firebase Invites или Google в качестве поставщика аутентификации Firebase Auth, то ничего делать не нужно. Если же вы применяете одну из этих функций, то определите, какой из указанных ниже сценариев лучше описывает вашу ситуацию.

Я знаю, в каком проекте Google Cloud содержится конфликтующий идентификатор клиента OAuth 2.0, и не возражаю против удаления проекта Firebase или использования Invites.
Этот подход не рекомендуется, если приложение Firebase уже применяется и вы не хотите удалять данные Analytics или информацию о сбоях.

Если проект Firebase создан недавно и пока не добавлен в приложение, мы рекомендуем удалить его, а не импортировать проект Google. Для этого выполните следующие действия:

  1. Удалите проект Firebase. В результате проект и все данные, связанные с ним, будут удалены без возможности восстановления.
  2. Откройте консоль Firebase.
  3. Нажмите Импорт проекта Google.
  4. Выберите проект, содержащий идентификатор клиента OAuth 2.0, и нажмите Добавить Firebase.
Я не хочу импортировать проект и не использую Invites.

В этом случае вы можете вручную добавить идентификатор клиента OAuth 2.0 в белый список, чтобы использовать Google в качестве провайдера авторизации.

Найдите идентификатор клиента OAuth 2.0 существующего проекта. Для этого выполните следующие действия:

  1. Откройте страницу Учетные данные консоли Google Cloud Console. Если проект, содержащий идентификатор клиента OAuth 2.0, не откроется автоматически, выберите его в раскрывающемся меню в верхнем правом углу страницы.
  2. В разделе Идентификаторы клиентов OAuth 2.0 найдите имя клиента, содержащее хеш SHA-1 и название пакета, которые используются для проекта Firebase. Нажмите на имя клиента, чтобы просмотреть подробную информацию.
  3. Скопируйте значение в столбце "Идентификатор клиента".

Добавьте этот идентификатор клиента в белый список, чтобы использовать Google в качестве провайдера аутентификации. Для этого выполните следующие действия:

  1. Откройте консоль Firebase и выберите проект.
  2. Выберите Аутентификация в меню слева.
  3. Перейдите на вкладку Способ входа.
  4. На вкладке Способ входа выберите Google в карте Провайдеры авторизации.
  5. Разверните параметр Белый список идентификаторов клиентов из внешних проектов.
  6. Вставьте в текстовое поле идентификатор клиента из консоли Cloud и нажмите Добавить.
Я не знаю, в каком проекте Google Cloud содержится конфликтующий идентификатор клиента OAuth 2.0.

Попробуйте найти конфликтующий идентификатор клиента OAuth 2.0, выполнив следующие действия:

  1. Откройте страницу Учетные данные консоли Google Cloud Console.
  2. В разделе Идентификаторы клиентов OAuth 2.0 выберите имя клиента, чтобы просмотреть хеш SHA-1 и название пакета, используемые для создания его идентификатора. Повторяйте это действие до тех пор, пока не найдете нужное имя клиента.

Если поиск не дал результатов, выберите в раскрывающемся меню в верхнем правом углу страницы другой проект и повторите описанные выше действия.

Клиент OAuth 2.0 может относиться к проекту, который вам не принадлежит. Если определить местоположение конфликтующего проекта невозможно, свяжитесь с техподдержкой Firebase и укажите название пакета и контрольную сумму SHA-1.

Эта информация оказалась полезной?
Как можно улучшить эту статью?