Lorsque je me connecte à Gmail dans mon application iOS, j'obtiens l'erreur ci-dessous (capture d'écran) et les champs de connexion n'apparaissent pas. Nous chargeons l'écran de connexion dans un WKWebView.
J'ai lu que Google déprécie les vues Web pour OAuth et bloquera les demandes le 20 avril 2017. Comme on le voit ici dans un blog des développeurs Google: https: //developers.googleblog. com/2016/08/modernizing-oauth-interactions-in-native-apps.html
Est-ce à dire que je dois déjà utiliser ou existe-t-il une autre solution viable? Je pensais avoir plus de temps avant de devoir mettre à jour cela.
Je suppose que votre client n'est pas enregistré correctement dans Google Cloud Console. Un client "WEB" est généralement un serveur ou une application Javascript. Une application iOS doit être enregistrée en tant que client iOS.
https://developers.google.com/identity/protocols/OAuth2InstalledApp#creatingcred
Je viens de trouver ce problème aussi.
Veuillez vérifier la console développeur de Google et consulter les clés des informations d'identification
Votre ID client dans google-info plist doit provenir de l'application iOS, pas du Web.
Et utilisez cet ID client pour être revereseClientID et copiez-le dans le type URI
vous devez recouper clientId sur votre "Google Dashboard" clientId et clientId sur "GoogleProject.Plsit" .si les deux sont différents, copiez ClientID de "Google Dashboard" et collez-le sur "GoogleService-Info.Plsit" .et modifiez également votre reverseClientId dans "GoogleService-Info.Plsit" selon le ClientID nouvellement collé (vous vérifiez le modèle de création de reverseClientId à partir de l'ID client dans "GoogleService-Info.Plsit"). Et puis collez thid reverseClientId dans 'URL type' dans le paramètre de votre projet.
Dans le cas de mon clientId sur "GoogleService-Info.Plsit" et mon "Google Dashboard" étaient différents. chech votre tableau de bord google ici: https://console.developers.google.com/apis/credentials?project=firebase
Je viens de rencontrer ce problème suite au guide Google Signin pour iOS. Le fichier généré par plist n'est pas le bon. Vous devez jeter un œil à l'ID client et à l'ID client inversé et assurez-vous qu'ils sont bien ceux de l'application iOS sur votre portail de développeur Google.
J'ai résolu les problèmes en créant un projet dans Fire Base Parce que REVERSED_CLIENT_ID génère à partir de developers.google.com Incorrect . Essayez de créer votre projet dans FireBase https://console.firebase.google.com
J'ai rencontré cette erreur après avoir créé un fichier GoogleService-Info.plist
En utilisant le site Connexion Googlevous dirige vers . J'ai ensuite commencé à utiliser Firebase, qui semble créer un fichier .plist
Distinct. Après avoir tenté d'inclure le nouveau fichier .plist
De Firebase, mon bouton de connexion Google a commencé à générer l'erreur invalid_request
Avec le message Custom scheme URIs are not allowed for WEB client type
.
Afin de résoudre le problème, j'ai essayé beaucoup de choses, mais à la fin la suppression de mon projet Firebase ENTIER sur leur console Web (pas seulement l'application individuelle), recréer un nouveau projet Firebase à partir de zéro et télécharger à nouveau le nouveau fichier .plist
, a résolu l'erreur.
Il crée deux ID client. une pour le Web et une pour l'application iOS. Le client Web sera dans la liste de google par défaut. Cela donne donc l'erreur ci-dessus. Utilisez l'ID client iOS à partir de la console Google ou créez des informations d'identification pour l'application iOS.
Pour mon expérience, j'avais suivi Google SignIn iOS Swift guide et j'avais téléchargé un Web OAuth fichier JSON. Ils vous fournissent littéralement le mauvais fichier Plist pour un iOS) installer.
Juste au cas où quelqu'un d'autre rencontrerait ce problème, voici les étapes que j'ai suivies:
Remarque: J'ai obtenu l'API de connexion Google pour fonctionner avec Swift v3 et XCode v8.
J'obtenais la même erreur. Ensuite, j'ai compris que je n'avais pas fourni mon identifiant de bundle d'application pour accéder au service de connexion Google dans mon application. Vous faites cela à partir de la page avec le lien:
Connectez-vous avec votre compte de développeur Google.
2.Créez le nom de votre application et copiez l'ID de l'ensemble d'applications à partir de votre projet à partir de: Liste des projets et des cibles> Général> Identifiant de l'ensemble.
3.Choisissez votre pays
4.Activez la connexion à Google.
Effectuez ensuite les étapes nécessaires pour intégrer Google Sign In à votre application iOS.
J'étais confronté au même problème. J'ai suivi toutes les instructions pour intégrer mon application plusieurs fois et j'ai joué avec le code pour voir s'il y avait un problème caché dans le code. J'ai téléchargé et configuré l'exemple d'application de google sur github https://github.com/googlesamples/google-services et je rencontre le même problème, donc ce n'était pas le code.
Il semblait qu'il y ait quelque chose dans la configuration de ma console, j'ai donc basculé entre différentes applications de console Google et joué à changer les ID de l'ensemble.
La seule chose qui a réussi à résoudre ce problème était d'utiliser Firebase à la place. J'ai créé une application dans la console Firebase, téléchargé le nouveau plist et cela a fonctionné.
Je ne sais toujours pas pourquoi cela n'a pas fonctionné pour moi en premier lieu, cela ne semble pas être un problème commun, mais j'espère que cela aide quelqu'un. à votre santé,
Veuillez vérifier console.developers.google.com/apis/credentials pour votre projet et voir s'il y a déjà un client_id dans la section OAuth 2.0 ID client, si oui, copiez cet ID client et remplacez-le avec vous CLIENT_ID du fichier GoogleService-Info.plist et modifiez en conséquence REVERSED_CLIENT_ID (de manière inverse) maintenant nettoyez et créez votre application et testez qu'elle fonctionnera