Ошибка 400: valid_request для iOS. Войти в Google

У меня есть приложение для 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 23.05.2024 23:33

@Bit-Man Единственный способ решить эту проблему - удалить мое приложение iOS в Firebase и снова зарегистрировать приложение, деактивировать и снова активировать аутентификацию ... Люди из Google мне совсем не помогли, хотя я заплатил за поддержку планируйте, если у вас такая же проблема, не тратьте время на Google, просто выполните эти шаги, и вы сможете решить эту ошибку

jdanvz 24.05.2024 03:30
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
211
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Единственный способ решить эту проблему - удалить мое приложение iOS в Firebase и снова зарегистрировать приложение, деактивировать и снова активировать аутентификацию... Люди из Google мне вообще не помогли, хотя я заплатил за план поддержки, если вы У вас та же проблема, не тратьте время на Google, просто выполните эти шаги, и вы сможете решить эту ошибку.

Другие вопросы по теме