ios - mejor - Error de Google 400: solicitud no válida Los URI de esquema personalizado no están permitidos para el tipo de cliente ''Web''
mejor app correo ios 2018 (11)
Cuando estoy iniciando sesión en Gmail en mi aplicación iOS, aparece el siguiente error (captura de pantalla) y los campos de inicio de sesión no aparecen. Estamos cargando la pantalla de inicio de sesión en un WKWebView.
- Estamos utilizando una redirección URI personalizada, pero ¿por qué Google está lanzando este error ahora? ¿Cuáles son las alternativas a un URI personalizado?
- Proyecto Swift 2.3
- Usando OAuthSwift v0.6.0 cocoapod
- Esto comenzó hace poco, solo en la última semana o algo así, creo que algo cambió con las API de Google.
He leído que Google está desaprobando las webviews de OAuth y bloqueará las solicitudes el 20 de abril de 2017. Como se ve aquí en el Blog de desarrolladores de Google: https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
¿Esto significa que ya necesito usar o hay otra solución viable? Pensé que tenía más tiempo antes de necesitar actualizar esto.
Acabo de encontrar este problema también.
Por favor revisa la consola de desarrolladores de Google y mira las claves de credenciales.
Su ID de cliente en la lista de información de google debe provenir de la aplicación iOS, no de la web.
Y use ese ID de cliente para ser revereseClientID y cópielo en el tipo de URI
Acabo de experimentar este problema siguiendo la Guía de inicio de sesión de Google para iOS. El archivo generado por plist no es el bueno. Debe mirar el ID de cliente y el ID de cliente revertido y asegurarse de que sean los adecuados para la aplicación de iOS en su portal de desarrolladores de Google.
Crea dos ID de cliente. Uno para web y otro para aplicación iOS. El cliente web estará en Google Plist por defecto. Así que da el error anterior. Use el ID de cliente de iOS de la consola de google o cree credenciales para la aplicación de iOS.
Estaba enfrentando el mismo problema. Seguí todas las instrucciones para integrar mi aplicación varias veces y jugué con el código para ver si había algún problema oculto en el código. Descargué y configuré la aplicación de muestra de google en github https://github.com/googlesamples/google-services y resolví el mismo problema, por lo que no era el código.
Parecía que había algo en la configuración de mi consola, así que cambié entre diferentes aplicaciones de la consola de Google y jugué cambiando las identificaciones del paquete.
Lo único que logró solucionar este problema fue usar Firebase en su lugar. Creé una aplicación en la consola firebase, descargué el nuevo error y funcionó.
Todavía no estoy seguro de por qué esto no funcionó para mí, no parece ser un problema común, pero espero que esto ayude a alguien. aclamaciones,
Estaba recibiendo el mismo error. Luego me di cuenta de que no proporcioné mi Id. De paquete de la aplicación para acceder al Servicio de inicio de sesión de Google en mi aplicación. Lo haces desde la página con el enlace:
1. Inicia sesión con tu cuenta de desarrollador de Google.
2.Cree el nombre de su aplicación y copie el Id. De paquete de la aplicación de su proyecto desde: Proyecto y Lista de objetivos> General> Identificador de paquete.
3.Elige tu país
4. Habilitar Google- Iniciar sesión.
Luego realice los pasos necesarios para integrar Google Sign In con su aplicación iOS.
Mi conjetura es que su cliente está registrado incorrectamente en Google Cloud Console. Un cliente ''WEB'' suele ser un servidor o una aplicación Javascript. Una aplicación de iOS debe estar registrada como un cliente de iOS.
https://developers.google.com/identity/protocols/OAuth2InstalledApp#creatingcred
Para mi experiencia, seguí la guía de inicio de sesión de Google Swift de iOS y descargué un archivo Web OAuth JSON. Literalmente le proporcionan el archivo Plist incorrecto para una configuración de iOS.
En caso de que alguien más se encuentre con este problema, aquí están los pasos que seguí:
- Ir a la consola de desarrolladores de Google.
- Ve a la sección de Credenciales.
- Observe que hay dos elementos en la sección "ID de cliente de OAuth 2.0". (Si ha intentado configurar un proyecto de inicio de sesión con Google iOS).
- Haga clic en el nombre del "cliente iOS para".
- Haga clic en "Descargar archivo PLIST".
- Elimine el archivo de Google web Plist de su proyecto.
- Suelte el nuevo archivo Plist basado en iOS.
- Copie el nuevo REVERSED_CLIENT_ID en sus tipos de URL de la página de información de su proyecto. (Esto se detalla en la guía de Google).
- Intente ejecutar su aplicación de nuevo.
Nota: Obtuve la API de inicio de sesión de Google para trabajar con Swift v3 y XCode v8.
Por favor verifique console.developers.google.com/apis/credentials para su proyecto y vea si ya existe un ID de cliente en la sección de ID de cliente de OAuth 2.0, si es así, copie esa ID de cliente y reemplácela con su CLIENTE_ID del archivo GoogleService-Info.plist y, en consecuencia, cambie REVERSED_CLIENT_ID (de manera inversa) ahora limpie, cree su aplicación y pruebe que funcionará
Resolví los problemas al crear un proyecto en Fire Base porque REVERSED_CLIENT_ID se genera desde developers.google.com incorrecto . Intente crear su proyecto en FireBase https://console.firebase.google.com
debe realizar una verificación cruzada de la identificación del cliente en su ''Tablero de Google'' y la identificación del cliente en el "Panel de Google". Si ambos son diferentes, copie el ID de cliente del ''Tablero de Google'' y péguelo en "Información de Servicio de Google.Plsit" y también corrija su ID de cliente en "GoogleService-Info.Plsit" de acuerdo con el ClientID recién pegado (usted verifica el patrón de cómo se invirtióClientId creado desde el ID del cliente en "GoogleService-Info.Plsit"). Y luego pegue thid reverseClientId en ''tipo de URL'' en la configuración de su proyecto.
En el caso de mi ID de cliente en "GoogleService-Info.Plsit" y mi ''Panel de control de Google'' fueron diferentes. Chech su panel de google aquí: https://console.developers.google.com/apis/credentials?project=firebase
Me enfrenté a este error luego de crear previamente un archivo GoogleService-Info.plist
usando el sitio al que Google Sign In lo dirige . Más tarde comencé a usar Firebase, que parece crear un archivo .plist
separado. Después de intentar incluir el nuevo archivo .plist
Firebase, mi botón de inicio de sesión de Google comenzó a invalid_request
error de invalid_request
con los Custom scheme URIs are not allowed for WEB client type
mensaje de Custom scheme URIs are not allowed for WEB client type
.
Para solucionar el problema, intenté muchas cosas, pero al final eliminé el proyecto MY ENTIRE Firebase en su consola web (no solo la aplicación individual), volví a crear un nuevo proyecto Firebase desde cero y volví a descargar el nuevo archivo .plist
. Resuelto el error.