Я использую Firebase Authentication и Firebase AppCheck.
Это прекрасно работает на Android . Я включил принудительное применение AppCheck для аутентификации, и из моего приложения поступают только проверенные запросы, отлично!
Сейчас я пытаюсь настроить это для iOS. Вот что я сделал:
- Добавил приложение iOS в проект Firebase.
- Добавил ключ для Apple Developer и связал его. с AppCheck.
- Добавлен токен отладки в консоль Firebase.
- Запустил настройку flutterfire в моем проекте Flutter.
< li>Загрузил GoogleService-info.plist и добавил его в свой проект. - Обновил AppDelegate.swift, как показано ниже:
Код: Выделить всё
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Тогда я заметил, что в Firebase Console есть новый API, который можно «принудить». Итак, помимо Аутентификации (бета) есть «Google Identity для iOS». Будучи фанатом безопасности, я для этого быстро нажал «применить».
Я не совсем понимаю, зачем это нужно. Я думал, что Аутентификация (бета) уже обеспечивает любую аутентификацию, включая Google. Похоже, это то, что происходит на Android. Не удалось найти никаких объяснений в Интернете.
В любом случае, короче говоря, после принудительного выполнения этого требования я больше не могу войти в систему с помощью Google. Я получаю сообщения «Доступ заблокирован: ошибка авторизации» и «Ошибка 400: инвалидный_запрос». В консоли Firebase попытки регистрируются как «Непроверенные: устаревшие клиентские запросы».
Для полной информации я использую симулятор Xcode для iPhone 16 Pro на Mac.
< п>Я не знаю, что делать. Я посмотрел в Google Cloud Console, все выглядит нормально. Новый ключ API iOS и служба были созданы правильно, AFAIK. Автоматически сгенерированный ключ API iOS не использует никаких ограничений приложений, и я даже удалил ограничения API, пытаясь устранить эту неполадку, но безуспешно. Если бы что-то еще было не так, например токен отладки или конфигурация Firebase, это не работало бы вообще, т. е. аутентификация по электронной почте/паролю не удалась бы или аутентификация Google не работала бы с отключенным применением AppCheck. Но все работает нормально, за исключением «Google Identity для iOS».
Будем благодарны за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-appcheck