keycloak Ungültiger parameter: redirect_uri
wenn ich versuche mich zu getroffen von meiner api zu authentifizieren Benutzer von keycloak, aber sein gibt mir Fehler Ungültiger parameter: redirect_uri auf keycloak Seite. Ich habe meine eigenen realm abgesehen von master. keycloak läuft auf http. Bitte helfen Sie mir.
während der überprüfung durch inspect element zeigt seine 500 Fehler
Bitte keine post die gleiche Frage mehrere Male. Wenn Sie möchten, um mehr details zu deiner ursprünglichen Frage, können Sie tun, indem Sie auf "Bearbeiten" direkt unterhalb der Frage.
Mögliche Duplikate von Keycloak Ungültiger parameter redirect_uri
Überprüfen Sie für https vs http in der url-Weiterleitung
habe weiter unten die Antwort dein problem gelöst?
Bitte keine post die gleiche Frage mehrere Male. Wenn Sie möchten, um mehr details zu deiner ursprünglichen Frage, können Sie tun, indem Sie auf "Bearbeiten" direkt unterhalb der Frage.
Mögliche Duplikate von Keycloak Ungültiger parameter redirect_uri
Überprüfen Sie für https vs http in der url-Weiterleitung
habe weiter unten die Antwort dein problem gelöst?
InformationsquelleAutor VIJAY THAKUR | 2017-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was für mich gearbeitet wurde das hinzufügen wildchar '*'. Obwohl für die Produktion baut, werde ich, um genauer zu sein mit dem Wert dieses Feldes. Aber für dev-Zwecke Sie dies tun können.
Einstellung verfügbar unter keycloak admin-Konsole -> Realm_Name -> Cients -> Client_Name.
EDIT: ich würde nicht empfehlen, die oben genannte Lösung für die Produktion baut, wie dies könnte zu einer Sicherheitslücke.
InformationsquelleAutor tryingToLearn
Gehen keycloak admin-Konsole - > SpringBootKeycloak> Cients>login-app-Seite.
Hier in gültig-redirect-uris Abschnitt hinzufügen
http://localhost:8080/sso/login
Dies wird helfen, beheben indirekte-uri-problem
Ich habe dieses problem, nachdem ich geändert Keycloak ist
web-context
EinstellungInformationsquelleAutor sushilshimpi
Stand ich vor der gleiche Fehler. In meinem Fall wurde das Problem mit Gültige Redirect-URIs nicht korrekt war. Dies sind also die Schritte, die ich gefolgt.
Ersten login zu keycloack als admin-Benutzer an.
Dann Wählen Sie Ihren realm(vielleicht werden Sie automatisch direkt auf dem realm). Dann sehen Sie unterhalb der Anzeige
Wählen Sie Kunden von der linken Verkleidung.
Dann wählen Sie entsprechende client, die Sie für Ihre app konfiguriert.
Standardmäßig werden Sie Einstellung Registerkarte, wenn es nicht anwählen.
Meine app läuft auf port 3000, also meine richtige Einstellung ist wie unten.
lassen Sie sagen, Sie haben eine app-läuft auf localhost:3000, also die Einstellung sollte wie folgt sein
InformationsquelleAutor Menuka Ishan
Wenn Sie sehen, dieses problem, nachdem Sie vorgenommen haben, ist die änderung der Keycloak Kontext-Pfad, den Sie brauchen, um eine weitere Veränderung zu einer redirect-url-Einstellung:
<web-context>yourchange/auth</web-context>
zurück<web-context>auth</web-context>
im standalone.xml/auth/admin
)/auth/admin/master/console/*
zu/yourchange/auth/admin/master/console/*
<web-context>yourchange/auth</web-context>
im standalone.xmlStarten Sie Keycloak und navigieren Sie zu der login-Seite (das ist jetzt
/yourchange/auth/admin
)redirect_uris
in der DB und stellen Sie den Wert von FeldernInformationsquelleAutor Mark
Müssen Sie prüfen, die keycloak admin-Konsole für fronted-Konfiguration.Es muss falsch konfigurierte Weiterleitungs-url-und web-Ursprung.
InformationsquelleAutor boycod3
Protokoll in der Keycloak admin-Konsole die website, wählen Sie das Reich und seine AUFTRAGGEBER, dann stellen Sie sicher, dass alle URIs des Auftraggebers sind mit dem Präfix-Protokoll, das heißt, mit
http://
zum Beispiel. Ein Beispiel wärehttp://localhost:8082/*
Einen anderen Weg um das Problem zu lösen, ist nach Ansicht der Keycloak server die Ausgabe in der Konsole, suchen Sie die Zeile, die besagt der Antrag abgelehnt wurde, kopieren Sie es aus dem
redirect_uri
angezeigten Wert und fügen Sie ihn in den* Valid Redirect URIs
Bereich der client in der Keycloak admin-Konsole-website. Der angeforderte URI ist dann einer der acceptables.InformationsquelleAutor Stephane
Wenn Sie diese Fehlermeldung bekommen, weil der ein neues Reich Sie erstellt
In der URL, die umgeleitet werden (Sie müssen möglicherweise suchen Sie im Chrome-dev-tools für diese URL), ändern Sie den Bereich von
master
auf die, die Sie gerade erstellt haben, und wenn Sie nicht mithttps
, dann stellen Sie sicher, dass die redirect_uri ist auch mithttp
.Wenn Sie diese Fehlermeldung bekommen, weil Sie versuchen, setup Keycloak auf einem öffentlichen Verkleidung domain (nicht localhost)
Schritt 1)
Folgen Sie diese Dokumentation, um das setup eine MySql-Datenbank. Möglicherweise müssen Sie auch zu finden die offizielle Dokumentation.
Schritt 2)
Führen Sie den Befehl
update REALM set ssl_required = 'NONE' where id = 'master';
Hinweis:
An diesem Punkt, sollten Sie technisch in der Lage sein, sich anzumelden, aber der version 4.0 von Keycloak ist die Verwendung von https für die redirect uri, obwohl wir nur deaktiviert https-Unterstützung. Bis Keycloak und behebt diese, die wir bekommen können, um dieses mit einem reverse proxy. Ein reverse-proxy ist etwas, das wir verwenden möchten, werden sowieso leicht setup https, ohne sich sorgen über Java-Schlüsselspeicher.
Schritt 3) Apache Installieren. Wir verwenden Apache als reverse-proxy (ich habe versucht, NGINX, aber der NGINX-Grenzen hinderte mich, es zu verwenden). Sehen yum installieren von Apache (CentOs 7), und apt-get install Apache (Ubuntu-16), oder finden Sie die Anweisungen für Ihre speziellen Distribution.
Schritt 4) Apache Ausführen
sudo systemctl start httpd
(CentOs) odersudo systemctl start apache2
(Ubuntu), um zu sehen, ob Apache bereits ausgeführt wird. Wenn der Letzte Eintrag liestStarted The Apache HTTP Server.
dann Ihr gut.sudo systemctl start httpd
(CentOs) odersudo systemctl start apache2
(Ubuntu), Apache zu starten.Schritt 5) Wir den Aufbau einer SSL-Verbindung mit dem reverse-proxy, und dann ist die reverse-proxy kommuniziert keyCloak über http. Denn diese http Kommunikation ist passiert auf der gleichen Maschine, du bist immer noch sicher. Wir können Certbot zu setup auto-Verlängerung der Zertifikate.
Wenn Sie client-seitige Verschlüsselung ist nicht gut genug, und Ihre Sicherheitsrichtlinie erfordert Ende-zu-Ende-Verschlüsselung, werden Sie haben, um herauszufinden, wie einrichten von SSL durch WildFly, anstelle der Verwendung eines reverse-proxy.
Hinweis:
Ich war nie wirklich in der Lage zu bekommen, https richtig funktioniert mit der admin-portal. Vielleicht nur ein bug in der beta-version von Keycloak 4.0, die ich verwende. Sie sind wohl in der Lage sein, um die SSL-Ebene zu verlangen nur, dass es für externe Anfragen, aber dies schien nicht zu funktionieren, das ist, warum wir setzen Sie https, um keines der in Schritt #2. Von hier an werden wir weiterhin die Verwendung von http über einen SSH-tunnel, den wir aber brauchen, das SSL-Zertifikat einrichten für unsere oauth Endpunkte.
Schritt 6)
Wenn Sie versuchen, besuchen Sie die Website via https, die Sie auslösen werden, eine HSTS-policy die auto-Kraft, die http-Anforderungen umleiten zu https. Befolgen Sie diese Anweisungen, um klar, die HSTS-Regel aus Chrom, und dann für die Zeit, besuchen Sie nicht die https-version der Website wieder.
Schritt 7)
Apache Konfigurieren.
Erste herauszufinden, wo Ihre httpd.conf-Datei befindet. Ihre httpd.conf-Datei ist wahrscheinlich auch Dateien, die aus einem separaten Verzeichnis. In meinem Fall, fand ich alle meine config-Datei in einem
conf.d
Verzeichnis befindet sich neben dem Ordner httpd.conf-Datei war in.Sobald Sie Ihre conf-Dateien ändern, oder fügen Sie den folgenden, virtual-host-Einträge in den conf-Dateien. Stellen Sie sicher, dass Sie nicht überschreiben die bereits vorhandenen SSL-Optionen, wo durch Sie erzeugten certbot. Wenn Sie fertig sind, Ihre config-Datei sollte in etwa so Aussehen.
Schritt 8) Starten Sie Apache Neu. Verwenden
sudo systemctl restart httpd
(CentOs) odersudo systemctl restart apache2
(Ubuntu).Schritt 9)
Bevor Sie haben eine chance, um zu versuchen, um sich an den server, da wir gesagt Keycloak Verwendung von http, die wir brauchen, um das setup eine andere Methode der Verbindung sicher. Dies kann entweder durch die Installation eines VPN-Dienstes auf dem keycloak server, oder mit SOCKEN. Ich verwendet einen SOCKS-proxy. Um dies zu tun, müssen Sie zuerst den setup-dynamische port-Weiterleitung.
ssh -N -D 9905 [email protected]
Oder über Putty.
Alle Datenverkehr an port 9905 werden nun sicher geleitet durch einen SSH-tunnel zu Ihrem server. Stellen Sie sicher, dass Sie whitelist-port 9905 auf Ihrem server die firewall.
Sobald Sie dynamische port-Weiterleitung einrichten, müssen Sie die Einstellung Ihres browser für die Verwendung eines SOCKS-proxy auf port 9905. Anleitung hier.
Schritt 10) Sie sollten nun in der Lage sein, um Anmeldung auf der website jetzt. Die Verbindung zu der website gehen Sie zu http://127.0.0.1, und der SOCKS-proxy wird Sie ergreifen, um die admin-Konsole. Stellen Sie sicher, deaktivieren Sie den SOCKS-proxy, wenn du fertig bist, wie es nutzen, Ihre server-Ressourcen, und führt zu einer langsameren internet-Geschwindigkeit für Sie, wenn immer auf.
Schritt 11) Fragen Sie mich nicht, wie lange es dauerte mir zu Abbildung dieses out.
InformationsquelleAutor Mr. Me
Stand ich vor der Ungültige parameter: redirect_uri problem während der folgenden Frühjahr-boot und keycloak Beispiel bei http://www.baeldung.com/spring-boot-keycloak. wenn Sie den client von der keycloak server haben wir die redirect-URI für diesen client, so dass keycloak server ausführen können, die Umleitung.
Wenn ich vor dem gleichen Fehler mehrere Male, ich folgte kopieren die korrekte URL vom keycloak server-Konsole und in die gültige Redirect-URIs Raum und es hat funktioniert!
InformationsquelleAutor Titans
Wenn Sie den Authorization Code Flow dann die
response_type
Abfrage param muss gleichcode
. Sehen https://www.keycloak.org/docs/3.3/server_admin/topics/sso-protocols/oidc.htmlInformationsquelleAutor ninyarko