KeyCloak-Nodejs - Geht in eine Endlosschleife, nachdem Autorisierungscode und Status zurückgegeben wurden

9

Ich richte Open Id connect für eine Dummy-Knotenanwendung mit KeyCloak . Ich verwende den Knotenadapter , der hier in Schlüssel-Umhang-Dokumente .

Hier ist die Datei routes.js der Knotenanwendung:

%Vor%

Wenn ich auf die Root-URL localhost:3000 zugreife, werde ich zunächst auf die Login-Seite von KeyCloak weitergeleitet. Sobald ich mich anmelde, erhalte ich den folgenden Fehler:

Hier ist das Serverprotokoll der Knoten-App:

Wie Sie sehen können, geht es in eine Endlosschleife.

Zusätzliche Details, die ich gefunden habe:

  1. In der ersten Weiterleitung nach dem Login ist der state -Wert identisch mit dem Wert vor der Anmeldung. Wie Sie aus dem Screenshot des Serverprotokolls sehen können, ändert sich der state -Wert bei jeder Weiterleitung nach das.

  2. Nach dem, was ich bisher herausgefunden habe, findet die Umleitung in post-auth.js (line number 49) statt, was zu einer Endlosschleife führt. Hier ist ein Link zu post-auth.js - Ссылка

  3. sessionId in getGrantFromCode Funktion in index.js ist nicht definiert. Hier ist die Funktion:

%Vor%

Link zum Quellcode: Ссылка

  1. Das Folgende ist eine Beispielzuteilung, die ich erhalte, wenn ich es in der oben erwähnten Erteilungsfunktion protokolliere: Ссылка

Fragen:

  1. Wie kann ich dieses Problem beheben?
  2. Wo finde ich Keycloak-Logs (jboss)? Momentan kann ich Schlüsselprotokolle nur sehen, wenn ein Fehler vorliegt. Ich verwende mvn -f testsuite/integration/pom.xml exec:java -Pkeycloak-server , um den Schlüsselcloak auszuführen. Ich habe noch nie zuvor an Java gearbeitet.
  3. Wo ist die Anfrage (mit Autorisierungscode) für das ID-Token?

Vielen Dank im Voraus.

    
Ravikanth Andhavarapu 06.06.2017, 08:41
quelle

1 Antwort

3
  1. Damit der Code funktioniert, müssen Sie die Initialisierung der Sitzung beenden:

    %Vor%
  2. Da Sie keine Erfahrung in Java haben, würde ich vorschlagen, docker image für keycloak

    %Vor%

Anschließend können Sie auf den Schlüsselcloak zugreifen, der auf Port 8080 ausgeführt wird, und in der Konsole werden Schlüsselprotokollprotokolle angezeigt

  1. Bei Verwendung des Autorisierungscodeflusses werden alle Token vom Token-Endpunkt zurückgegeben. Hier finden Sie eine detaillierte Beschreibung des Autorisierungscode-Ablaufs.
tycoon 27.03.2018 22:26
quelle