Что означает это сообщение?
Эта ошибка возникает в том случае, если вы указываете идентификатор клиента 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 создан недавно и пока не добавлен в приложение, мы рекомендуем удалить его, а не импортировать проект Google. Для этого выполните следующие действия:
- Удалите проект Firebase. В результате проект и все данные, связанные с ним, будут удалены без возможности восстановления.
- Откройте консоль Firebase.
- Нажмите Импорт проекта Google.
- Выберите проект, содержащий идентификатор клиента OAuth 2.0, и нажмите Добавить Firebase.
В этом случае вы можете вручную добавить идентификатор клиента OAuth 2.0 в белый список, чтобы использовать Google в качестве провайдера авторизации.
Найдите идентификатор клиента OAuth 2.0 существующего проекта. Для этого выполните следующие действия:
- Откройте страницу Учетные данные консоли Google Cloud Console. Если проект, содержащий идентификатор клиента OAuth 2.0, не откроется автоматически, выберите его в раскрывающемся меню в верхнем правом углу страницы.
- В разделе Идентификаторы клиентов OAuth 2.0 найдите имя клиента, содержащее хеш SHA-1 и название пакета, которые используются для проекта Firebase. Нажмите на имя клиента, чтобы просмотреть подробную информацию.
- Скопируйте значение в столбце "Идентификатор клиента".
Добавьте этот идентификатор клиента в белый список, чтобы использовать Google в качестве провайдера аутентификации. Для этого выполните следующие действия:
- Откройте консоль Firebase и выберите проект.
- Выберите Аутентификация в меню слева.
- Перейдите на вкладку Способ входа.
- На вкладке Способ входа выберите Google в карте Провайдеры авторизации.
- Разверните параметр Белый список идентификаторов клиентов из внешних проектов.
- Вставьте в текстовое поле идентификатор клиента из консоли Cloud и нажмите Добавить.
Попробуйте найти конфликтующий идентификатор клиента OAuth 2.0, выполнив следующие действия:
- Откройте страницу Учетные данные консоли Google Cloud Console.
- В разделе Идентификаторы клиентов OAuth 2.0 выберите имя клиента, чтобы просмотреть хеш SHA-1 и название пакета, используемые для создания его идентификатора. Повторяйте это действие до тех пор, пока не найдете нужное имя клиента.
Если поиск не дал результатов, выберите в раскрывающемся меню в верхнем правом углу страницы другой проект и повторите описанные выше действия.
Клиент OAuth 2.0 может относиться к проекту, который вам не принадлежит. Если определить местоположение конфликтующего проекта невозможно, свяжитесь с техподдержкой Firebase и укажите название пакета и контрольную сумму SHA-1.