Google-400-Fehler: ungültige Anforderung Benutzerdefinierte Schema-URIs nicht erlaubt sind für " Web " - client-Typ
Wenn ich in Gmail anzumelden, in meiner iOS-App, erhalte ich die folgende Fehlermeldung (screenshot) und die Anmelde-Felder nicht angezeigt werden. Wir laden den Anmelde-Bildschirm in einem WKWebView.
- Wir verwenden ein benutzerdefiniertes URI umzuleiten, aber warum ist google wirft diesen Fehler nun. Was sind die alternativen, um ein benutzerdefiniertes URI?
- Swift 2.3 Projekt
- Mit OAuthSwift v0.6.0 cocoapod
- Angefangen hat dies vor kurzem erst in der vergangenen Woche oder so, glaube ich, etwas geändert mit den Google-APIs.
Habe ich gelesen, dass google abwertend webviews für OAuth und blockiert Anfragen auf 20. April 2017. Wie hier im Google Developers Blog:
https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html
Bedeutet das, dass ich bereits verwenden müssen, oder gibt es eine andere praktikable Lösung? Ich dachte, ich hätte mehr Zeit benötigen, bevor zu aktualisieren diese.
- Ja, du musst den build-in web-browser. Aber dies sollte nicht so eine große Veränderung, da alle diese URL-Schema-Tanz bleibt die gleiche
- Vielen Dank für Ihre Antwort. Ich habe versucht, mit einem built-in browser aber ich bekomme den gleichen Fehler. Es muss ein problem sein, mit den benutzerdefiniertes URI-Schema. Ich weiß nicht, warum es wirft einen Fehler, über den es, wenn es funktioniert für die letzten 6 Monate
- Möglich, Duplikat der Fehler 403 - Das ist ein Fehler. Fehler: disallowed_useragent
- Für mich war das Thema falsche info in der GoogleService-Info.plist - wie es aussieht, verwendet der web-IDs anstelle von iOS lieben.
- Hi @SeaCoastofTibet Wie hast du den switch aus der web-ID, um Ihre iOS ein?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Vermutung ist, dass der client nicht korrekt registriert ist in der Google Cloud Console. Ein " WEB " - client ist in der Regel ein server oder eine Javascript-Anwendung. Eine iOS-app soll registriert werden, wie ein iOS-client.
https://developers.google.com/identity/protocols/OAuth2InstalledApp#creatingcred
Ich habe Gerade auch dieses problem.
Bitte überprüfen Sie die google Entwickler-Konsole und schauen Sie sich die Anmeldeinformationen, Schlüssel
Ihre Client-ID in die google-info-plist muss von den iOS-Anwendung, die web.
Und nutzen, - Client-ID zu revereseClientID und kopieren Sie es in URI-Typ
müssen Sie cross check clientId in Ihrem "Google Dashboard' clientId und clientId auf "GoogleProject.Plsit".wenn beide unterschiedlich sind, kopieren ClientID von "Google Dashboard" und fügen Sie es auf "GoogleService-Info.Plsit".und auch ändern Sie Ihre reverseClientId in "GoogleService-Info.Plsit" entsprechend der neu eingefügten ClientID(überprüfen Sie die Muster, wie reverseClientId erstellt von client-Id, die in "GoogleService-Info.Plsit"). Und dann fügen Sie thid reverseClientId in 'den URL-Typ" in Ihrem Projekt festlegen.
Bei mir clientId auf "GoogleService-Info.Plsit" und meine "Google Dashboard" waren anders.
CZ google dashboard hier : https://console.developers.google.com/apis/credentials?project=firebase
Ich gerade erlebt dieses Problem nach der Google-Signin für iOS Guide. Die plist-Datei generiert, ist nicht das gute. Sie müssen nehmen Sie einen Blick auf die clientID und reversedClientID und sicher sein, dass Sie diejenigen sind, die für die iOS-app auf dem Google developer-portal.
Habe ich die Probleme gelöst, indem Sie erstellen Projekt in Fire Base Weil REVERSED_CLIENT_ID generieren von developers.google.com Falsche.
Versuchen Sie, erstellen Sie Ihr Projekt in Feuerstellung
https://console.firebase.google.com
Stand ich vor dieser Fehler, nachdem zuvor die Schaffung eines
GoogleService-Info.plist
- Datei über die Website Google Sign In Sie richtet. Später habe ich begonnen, mit der Feuerstellung, die scheint, zum erstellen einer separaten.plist
- Datei. Nach dem Versuch zu zählen Feuerstellung neue.plist
Datei, meine Google-Anmelde-Schaltfläche gestartet, woraus sich dieinvalid_request
Fehler mit derCustom scheme URIs are not allowed for WEB client type
Nachricht.Um das problem zu beheben ich habe versucht, viele Dinge, aber am Ende löscht MEINE GESAMTE FB-Projekt auf Ihrer web-Konsole aus (und nicht nur die einzelnen app), erstellst eine neue FB-Projekt von Grund auf neu, und re-Download der neuen
.plist
- Datei, behoben den Fehler.Schafft es zwei client-ID. einen für web und einen für die iOS-Anwendung. Web-client in den google-plist standardmäßig. So gibt es den oben genannten Fehler. IOS-Client-id von google-Konsole oder erstellen Sie Anmeldeinformationen für die iOS-Anwendung.
Meiner Erfahrung, die ich hatte, folgte die Google-SignIn iOS Swift Handbuch und runtergeladen hatte Sie einen Web-OAuth JSON-Datei. Sie buchstäblich geben Sie die falsche Plist Datei aus einer iOS-setup.
Nur für den Fall jemand anderem läuft in diesem Thema hier sind die Schritte, die ich gefolgt:
Hinweis: ich habe die Google-Sign-In-API für die Arbeit mit Swift v3 und XCode v8.
War ich immer die gleichen Fehler. Dann habe ich herausgefunden, dass ich nicht meine app-Bundle-Id, um den Zugriff auf die Google-Sign-In Service in meinem app.
Sie tun das, von der Seite mit dem link:
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.Melden Sie sich mit Ihrem Google Developer account.
2.Erstellen Sie app-Namen und kopieren Sie die App-bundle-Id aus dem Projekt aus:
Projekt-und Target-Liste> Allgemeine> Bundle-Bezeichner.
3.Wählen Sie Ihr Land
4.Aktivieren Sie Google - Sign-In.
Dann führen Sie die notwendigen Schritte zur Integration von Google Sign-In mit der iOS-App.
War ich vor dem gleichen Problem. Ich folgte allen Anweisungen zu integrieren, die meine app mehrere Male, und spielte mit dem code, um zu sehen, ob es irgendeine verborgene Problem im code.
Ich heruntergeladen und konfiguriert die Beispiel app von google auf github https://github.com/googlesamples/google-services und gehen das gleiche Problem, es war also nicht der code.
Schien es, wie es ist etwas in meiner Konsole Konfiguration so wechselte ich zwischen verschiedenen google-Konsole apps und spielen ändern Sie die bundle-IDs.
Die einzige Sache, die es geschafft, dieses Problem zu beheben, war der Einsatz von FB statt. Ich habe eine app in der FB-Konsole heruntergeladen die neue plist, und es funktionierte.
Immer noch nicht sicher, warum dies nicht funktioniert hat für mich in Erster Linie, aber dies scheint nicht ein häufiges problem zu sein, aber ich hoffe, das jemand hilft.
cheers,
Bitte prüfen console.developers.google.com/apis/credentials für Ihr Projekt und sehen Sie, ob es bereits eine client_id im OAuth 2.0-client-IDs Abschnitt , wenn ja, dann Kopie, die client-id und ersetzen Sie es mit Ihnen GoogleService-Info.plist-Datei CLIENT_ID und entsprechend ändern REVERSED_CLIENT_ID (in umgekehrter Weise) jetzt reinigen Sie und bauen Sie Ihre app und testen, es wird funktionieren