Вход в Apple с использованием Firebase в Unity на Android создает исключение «клиент не соответствует ключу API» - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь заставить Apple войти в систему с помощью Firebase для Unity, работающей на android.

Я следовал их инструкциям по настройке, но моя ситуация немного сложнее стандартной Я не хочу go подробно рассказывать о настройке, но используя приведенный ниже код:

FederatedOAuthProviderData providerData = new FederatedOAuthProviderData();
providerData.ProviderId = "apple.com";
var scopes = new List<string>();
scopes.Add("email");
scopes.Add("name");
providerData.Scopes = scopes;

всякий раз, когда я запускаю

 Auth.SignInWithProviderAsync(oAuthProvider)

или

User.LinkWithProviderAsync(provider)

Я получаю следующую ошибку:

there was an error while trying to get your package certificate hash. [client does not match api key]

Может кто-нибудь сказать мне точно, что эта ошибка пытается сказать мне. У меня есть аккаунты, работающие для GameCenter, GooglePlay, Google и Facebook, но все они используют поток учетных данных, а не новый провайдер.

Cheers.

Добавление дополнительной информации для уточнения настройки:

Есть приложение по умолчанию, которое имеет собственный проект Firebase, это приложение со связанными приложениями, sha-1 и c ... этот проект предоставляет google-сервисы. json.

Существует проект firebase для учетных записей, с которым не связаны приложения. Этот проект firebase был настроен для поддержки входа в Apple, а также для всех других провайдеров, которых мы поддерживаем, и имеет ссылку на идентификатор службы в соответствии с инструкциями.

Я использую функцию нескольких проектов в наших приложениях, создавая приложение для учетных записей с

FirebaseApp.Create (accountsAppOptions, "Accounts");

Аутентификация выполняется через Auth of это приложение.

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

Это хорошо работает для GooglePlay, GameCenter, Google, Firebase. Но мне интересно, поддерживается ли этот поток входом в систему с яблоком в его нынешнем виде?

1 Ответ

0 голосов
/ 04 мая 2020

Обязательно убедитесь, что вы как можно более современны с Firebase Unity SDK. Поддержка Apple Sign In является новой, поэтому вы не хотите пропустить какие-либо возможные исправления.

Затем убедитесь, что ваш SHA-1 обновлен. Если вы подписываетесь с помощью своего хранилища ключей отладки, оно указывается c для каждого компьютера разработчика и может быть загружено в дополнение к вашему хранилищу ключей выпуска. Кроме того, не все требует SHA-1, но Auth является рассадником стробируемых функций SHA-1, поэтому не удивительно, если бы это был недостающий элемент конфигурации.

Последнее, убедитесь, что вы выполнил все шаги настройки. В частности, если вы посмотрите на Настроить вход с помощью Apple , вы увидите ссылку на страницу Android Настроить вход с помощью Apple , которая включает в себя множество настроек, которые Вы должны сделать, чтобы все работало. Также убедитесь, что вы выполнили все шаги, чтобы включить Apple в качестве поставщика входа . Возможно, этот ключ не был полностью настроен.

Я надеюсь, что это все поможет, и я хотел бы услышать, какая часть этого (если таковая имеется) решает проблему, чтобы посмотреть, можно ли немного подкрепить документы !

- Патрик

...