# #swift #firebase #swiftui #firebase-authentication
Вопрос:
Мне нужно настроить процесс аутентификации Firebase с помощью входа в Google из моего приложения. Он успешно работал, и я видел вошедших пользователей в разделе аутентификации, но через несколько дней они перестали появляться, и мне требовалось входить в систему каждый раз, когда я открываю приложение после его закрытия. Что было сделано:
- Приложение iOS добавлено в Firebase
- Идентификаторы пакетов одинаковы
- Добавлен GoogleService-Info.plist
- Добавлены URL-адреса
Некоторый код, написанный с помощью Swift через SwiftUI
class AppDelegate: NSObject, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -gt; Bool { FirebaseApp.configure() return true } } extension AppDelegate { func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -gt; Bool { var handled: Bool handled = GIDSignIn.sharedInstance.handle(url) if handled { return true } // Handle other custom URL types. // If not handled by this app, return false. return false } }
final class GoogleAuthorizationManager { private let signInConfig = GIDConfiguration.init(clientID: FirebaseApp.app()?.options.clientID ?? "") func signIn(completion: @escaping VoidClosure) { guard let presenter = UIApplication.shared.windows.first?.rootViewController else { return } GIDSignIn.sharedInstance.signIn(with: signInConfig, presenting: presenter) { user, error in guard error == nil else { return } guard let user = user else { return } print("User authorized. Email: (user.profile?.email ?? "Not found")") completion() } } func signOut(completion: @escaping VoidClosure) { GIDSignIn.sharedInstance.signOut() completion() } }
Если я не ошибаюсь (уверен на 90%), тот же код успешно работал несколько дней назад. Как оставаться в системе даже после закрытия приложения и видеть пользователей в разделе аутентификации после входа в систему?