Google 400 Erreur: invalid demande Personnalisée schéma d'Uri ne sont pas autorisés pour le " Web " type de client
Quand je suis à la signature dans Gmail dans mon Application iOS, j'obtiens l'erreur ci-dessous (capture d'écran) et le signe-dans les champs n'apparaissent pas. Nous sommes le chargement de l'écran de connexion dans un WKWebView.
- Nous sommes en utilisant une mesure de l'URI de redirection mais pourquoi google jeter cette erreur maintenant. Quelles sont les alternatives à un URI personnalisé?
- Swift 2.3 projet
- À l'aide de OAuthSwift v0.6.0 cocoapod
- Cela a commencé assez récemment que dans la dernière semaine ou deux, je crois, quelque chose a changé avec Google Api.
J'ai lu que google est autodérision webviews pour OAuth et de bloquer les demandes le 20 avril 2017. Comme on le voit ici dans un les Développeurs de Google Blog:
https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
Est-ce à dire j'ai déjà besoin d'utiliser ou est-il une autre solution viable? Je pensais que j'avais plus de temps avant d'avoir besoin de mettre à jour cette.
- Oui, vous aurez à utiliser le navigateur web. Mais cela ne devrait pas être un grand changement, puisque tous cette URL Schéma de la danse reste le même
- Merci pour votre réponse. J'ai essayé à l'aide d'un navigateur intégré, mais j'obtiens la même erreur. Il doit y avoir un problème avec la coutume de schéma d'URI. Je ne sais pas pourquoi il est en train de jeter une erreur, lorsqu'il travaillait pour les 6 derniers mois
- Double Possible de Erreur 403 - c'est une erreur. Erreur: disallowed_useragent
- Pour moi la question était mal d'infos dans le GoogleService-Info.plist - regarde comme il a utilisé le web Id à la place de l'iOS ceux.
- Salut @SeaCoastofTibet Comment avez-vous passer du web, ID pour votre iOS un?
Vous devez vous connecter pour publier un commentaire.
Ma conjecture est que votre client n'est pas correctement enregistré dans Google Cloud Console. Un " WEB " client est généralement un serveur ou une application Javascript. Une application iOS doit être enregistré comme un iOS client.
https://developers.google.com/identity/protocols/OAuth2InstalledApp#creatingcred
Je Viens de trouver le problème.
Veuillez vérifier le google developer console et regarder les informations d'identification de touches
Votre ID Client dans google-info plist doit venir de l'application iOS, pas le web.
Et l'utilisation que l'ID du Client à revereseClientID et de le copier dans URI de type
vous devez vérifier clientId à votre "tableau de bord Google' clientId et clientId à "GoogleProject.Plsit".si les deux sont différents, copie ClientID de Google "tableau de bord" et collez-le sur "GoogleService-Info.Plsit".et aussi modifier votre reverseClientId dans "GoogleService-Info.Plsit", selon nouvellement collé ClientID(vous vérifiez le modèle de la façon dont reverseClientId créé à partir de l'Identifiant client dans "GoogleService-Info.Plsit"). Et puis collez thid reverseClientId dans "URL de type' dans votre projet de création d'.
Dans le cas de la mine clientId sur "GoogleService-Info.Plsit" et mon "tableau de bord Google" étaient différents.
chech votre tableau de bord google ici : https://console.developers.google.com/apis/credentials?project=firebase
Je viens de rencontré ce problème à la suite de la Google Signin pour iOS Guide. Le plist fichier généré n'est pas la bonne. Vous avez besoin de prendre un coup d'oeil à la clientID et reversedClientID et être sûr qu'ils sont ceux de l'application iOS sur votre Google sur le portail des développeurs.
J'ai résolu le problème par créer un projet dans de Base Incendie Parce que REVERSED_CLIENT_ID générer à partir de developers.google.com Incorrect.
Essayez de créer votre projet en FireBase
https://console.firebase.google.com
J'ai fait face à cette erreur après avoir été la création d'un
GoogleService-Info.plist
fichier en utilisant le site Google Signe Dans vous dirige vers. Plus tard, j'ai commencé à l'aide de Firebase, ce qui semble créer un.plist
fichier. Après avoir tenté d'inclure Firebase nouveau.plist
fichier, mon Google bouton De connexion a commencé à céder lainvalid_request
erreur avec leCustom scheme URIs are not allowed for WEB client type
message.Dans le but de résoudre le problème, j'ai essayé beaucoup de choses, mais à la fin la suppression de la TOTALITÉ de MON Firebase projet sur leur console web (et pas seulement l'individu app), recréant une nouvelle Firebase projet à partir de zéro, et de re-télécharger la nouvelle
.plist
fichier, résolu l'erreur.Il crée deux ID de client. l'un pour le web et l'autre pour iOS de l'application. Web client est dans le google plist par défaut. De sorte qu'il donne l'erreur ci-dessus. Utilisez iOS id du Client à partir de google ou console de créer des informations d'identification de l'application iOS.
Pour mon expérience, j'avais suivi de Google SignIn iOS Swift guide et avais téléchargé un site Web OAuth fichier JSON. Ils ont littéralement vous donner le mauvais fichier Plist pour une configuration d'iOS.
Juste au cas où quelqu'un d'autre s'exécute dans cette question, voici les étapes que j'ai suivi:
Remarque: j'ai eu le Google Signe De l'API pour travailler avec Swift v3 et XCode v8.
J'avais la même erreur. Puis j'ai compris, que je n'ai pas donner mon app Bundle Id pour accéder à la connexion Google en Service Dans mon application.
Vous n'avez qu'à partir de la page avec le lien:
https://developers.google.com/mobile/add?platform=ios&cntapi=signin&cnturl=https:%2F%2Fdevelopers.google.com%2Fidentity%2Fsign-in%2Fios%2Fsign-in%3Fconfigured%3Dtrue&cntlbl=Continue%20Adding%20Sign-In
1.Connectez-vous avec votre compte Développeur Google.
2.Créer un nom d'application et de copier l'Application bundle Id de votre projet:
Projet et de la Liste des Cibles> Général> Identifiant de lot.
3.Choisissez votre Pays
4.Permettre À Google, Connectez - Vous.
Puis effectuez les étapes nécessaires pour intégrer Google Signe avec votre Application iOS.
J'ai été confronté au même problème. J'ai suivi toutes les instructions pour l'intégrer à mon application plusieurs fois et joué avec les 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 à partir de google sur github https://github.com/googlesamples/google-services et aller le même problème, donc ce n'était pas le code.
Il me semblait qu'il y est quelque chose dans ma configuration de la console donc je suis passé entre google à l'autre de la console apps, et joué de la modification de l'Id de lots.
La seule chose qui a réussi à résoudre ce problème est d'utiliser Firebase à la place. J'ai créé une application en firebase console, téléchargé la nouvelle plist, et cela a fonctionné.
Toujours pas sûr de savoir pourquoi cela ne fonctionne pas pour moi en premier lieu, cela ne semble pas être un problème commun, mais j'espère que cela aide quelqu'un.
cheers,
De bien vouloir vérifier console.developers.google.com/apis/credentials pour votre projet et de voir si il ya déjà un client_id dans OAuth 2.0 client Id de l'article , si oui, alors la copie d'identification du client et de le remplacer avec vous GoogleService-Info.fichier plist de CLIENT_ID, et en conséquence de modifier REVERSED_CLIENT_ID (en inverse) est maintenant propre et de construire votre application et de tester cela fonctionnera