У меня есть приложение для iOS, в котором есть вход в Google Cloud с помощью Firebase, но при открытии Интернета для входа в систему я получаю следующие ошибки:
Мы не можем проверить подлинность этого приложения. Пожалуйста, свяжитесь с разработчик. Токен не удался.
Если вы ******* разработчик, просмотрите подробную информацию об ошибке.
Ошибка 400: невалидный_запрос
Подробности запроса: тип_ответа=код code_challenge_method=S256 nonce=bRNSXpeJTQfPJn435Pn9C0niL5NIRzkxtb1BAIsXqu0 device_os=iOS 17.4.1 client_id=541903925667-nnvn5cctvima77nh4elc81schetiv4ok.apps.googleuser content.com emm_support=1 gpsdk=gid-7.1.0 gidenv=ios состояние=-KR22DP2ZWwf9bXZRWm96HGQjVt2-8KxEZ1GHYxAu3g redirect_uri=com.googleusercontent.apps.541903925667-nnvn5cctvima77nh4elc81schetiv4ok:/oauth2callback code_challenge=4ryryshF3lScPX6fJ-MSWR0AmgMsUM_OlhhFoo9P3MU include_granted_scopes = true access_type = офлайн область = https://www.googleapis. com/auth/userinfo.email https://www.googleapis. com/auth/userinfo.profile openid
Я проверил учетные данные файла GoogleService-Info.plist, который я скачал из Firebase, и оба CLIENT_ID и REVERSED_CLIENT_ID такие же, как и в моей конфигурации Google Cloud, кроме того, REVERSED_CLIENT_ID совпадает с типом URL, который у меня есть в Xcode
На панели управления Google Cloud Platform у меня есть такая конфигурация:
Внутри моего iOS-клиента для ******* (авторизация, созданная службой Google) у меня есть эта конфигурация, равная моему файлу GoogleService-info.
Есть идеи, как я могу решить эту ошибку? Я удалил и снова добавил свое приложение iOS в Firebase, но проблема все еще сохраняется.
Мой код для входа в Google:
func sigInWithGoogle(completion: @escaping (Bool, Error?) -> Void) {
guard let rootViewController = UIApplication.shared.keyWindow?.rootViewController else { return }
guard let clientID = FirebaseApp.app()?.options.clientID else { return }
let config = GIDConfiguration(clientID: clientID)
GIDSignIn.sharedInstance.configuration = config
GIDSignIn.sharedInstance.signIn(withPresenting: rootViewController) { signInResult, error in
if let error = error {
completion(false, error)
print("Error loggin with Google: \(error.localizedDescription)")
return
}
guard let authentication = signInResult?.user, let idToken = authentication.idToken else {
return
}
let idTokenString = idToken.tokenString
let credential = GoogleAuthProvider.credential(withIDToken: idTokenString, accessToken: signInResult?.user.idToken?.tokenString ?? "")
Auth.auth().signIn(with: credential) { authResult, error in
if let error = error {
completion(false, error)
return
}
guard let user = authResult?.user else { return }
AnalyticsManager.shared.logEvent(.loginWithGoogle)
guard let name = user.displayName else { return }
DispatchQueue.main.async {
self.defaults.set(name, forKey: Constants.UserDefaultsValues.userFirstName)
}
completion(true, nil)
}
}
}
@Bit-Man Единственный способ решить эту проблему - удалить мое приложение iOS в Firebase и снова зарегистрировать приложение, деактивировать и снова активировать аутентификацию ... Люди из Google мне совсем не помогли, хотя я заплатил за поддержку планируйте, если у вас такая же проблема, не тратьте время на Google, просто выполните эти шаги, и вы сможете решить эту ошибку
Единственный способ решить эту проблему - удалить мое приложение iOS в Firebase и снова зарегистрировать приложение, деактивировать и снова активировать аутентификацию... Люди из Google мне вообще не помогли, хотя я заплатил за план поддержки, если вы У вас та же проблема, не тратьте время на Google, просто выполните эти шаги, и вы сможете решить эту ошибку.
Смогли ли вы решить эту проблему?