So habe ich einige Probleme damit, mein Keycloak-Connect-Sample zum Laufen zu bringen. GrundsätzlichKeycloak - Grant Validierung fehlgeschlagen. Grund: ungültiges Token (falsche ISS)
Ich habe eine einfache Prüfung mit Keycloak auf einer Schnellstraße auf meinem VM
(10.10.10.54:8081) wie folgt.
app.get('/api*', keycloak.protect(), (req, res) => res.status(200).send({
message: 'Hit API Backend!',
}));
Mein Keycloak Server ist auf einer separaten VM (für dieses Beispiel http://keycloak.myexternaldomain.ca/auth/)
die Rufe ich diese heraus zu testen, habe machen sind.
RESULT=`curl --data "grant_type=password&client_secret=mysecret&client_id=account&username=myusername&password=mypassword" http://keycloak.myexternaldomain.ca/auth/realms/TEST/protocol/openid-connect/token`
Dies gibt den richtigen Zugriffstoken jedes Mal,
TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`
zu analysieren, um in eine variable Token.
curl http://10.10.10.54:8081/api -H "Authorization: bearer $TOKEN"
die noch ständig zurückgibt Zugriff verweigert, habe ich versucht, dies in einem ähnlichen Beispiel mit den Keycloak-Quickstart Node Service zu sehen, ob ein ausführlichere Fehler, dass es war. Was ich würde erhalten war zurück
Validate grant failed
Grant validation failed. Reason: invalid token (wrong ISS)
Obwohl, wenn ich ein wenig gewartet, es sei mir einen abgelaufenen Token Fehler so fühle ich mich, wie ich auf dem richtigen Weg bin.
so offensichtlich ist etwas nicht in Ordnung, wo ich das Token aus nicht übereinstimmen, wo es erwartet wird? Ich kann einen Anruf tätigen, die Benutzer-Anmeldeinformationen aus dem keycloak-Server zu beziehen sich durch Einrollen zu
curl --data "grant_type=password&token=$TOKEN&client_secret=secret&client_id=account&username=myaccount&password=mypassword" http://keycloak.myexternaldomain.ca/auth/realms/TEST/protocol/openid-connect/token/introspect
bin falsch interpretiert ich, wie soll ich werden Keycloak, oder ist dies ein Einstellungsproblem?
Vielen Dank im Voraus
Ich habe die Pull-Anfrage hier erstellt: https://github.com/keycloak/keycloak-nodejs-auth-utils/pull/80 – cdupont