2016-05-09 13 views
6

Używam Node.JS (express) i NPM o nazwie keycloak-connect, aby połączyć się z serwerem keycloak.
Kiedy jestem wdrożenia mechanizmu domyślny sposób opisany chronić trasę:Uzyskiwanie "Nieprawidłowy parametr: redirect_uri" próby uwierzytelnienia NODE.JS z KeyCloak

app.get('/about', keycloak.protect(), function(req,resp) { 
    resp.send('Page: ' + req.params.page + '<br><a href="/logout">logout</a>'); 
}); 

I daj, o którym mowa keycloak, ale z następującym błędem: "Nieprawidłowy parametr: redirect_uri"

My ciąg zapytania to: (xx do demonstracji)
https://xx.xx.xx.xx:8443/auth/realms/master/protocol/openid-connect/auth?client_id=account&state=aa11b27a-8a0b-4a3b-89dc-cb8a303dbde8&redirect_uri=http%3A%2F%2Flocalhost%3A3002%2Fabout%3Fauth_callback%3D1&response_type=code

Moja keycloak.json jest: (xx dla demonstrat ion) konfiguracja

{ 
    "realm": "master", 
    "realm-public-key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwS00kUaH6OoERNSkFUwxEBxx2SsqmHu9oVQiPs6nlP9fNQm0cK2lpNPphbLzooZL6kivaC4VzXg20F3zY7jRDc4U/XHgXjZVZUXxJ0NeCI5ESDo00EV9xh9XL3xvXslmG0YLWpywtQSYc+XcGDkz87edokbHQIIlQc2sgoVKIKpajZyrI5wnyMhL8JSk+Mdo2T9DeNnZxPkauiKBwWFJReBO51gsoZ49cbD39FRa8pLi8W0TtXoESIf/eGUSdc3revVFR7cjzHUzxF0p0WrLsTA1aBCLkt8yhnq88NqcKsW5mkxRmhLdw20ODTdsmRtm68rjtusMwifo/dZLJ9v5eQIDAQAB", 
    "auth-server-url": "https://xx.xx.xx.xx:8443/auth", 
    "ssl-required": "external", 
    "resource": "account", 
    "credentials": { 
    "secret": "9140d4e6-ed05-4899-a3c0-a9cf94ab407d" 
    }, 
    "use-resource-role-mappings": true 
} 

keycloak:

enter image description here

enter image description here

Odpowiedz

11

Chyba w karcie Ustawienia klienta dodano port do adresów URL klienckich.

np.

root url: https://demo.server.biz:443/cxf 

prostu usunąć port

root url: https://demo.server.biz/cxf 

To samo dotyczy Valid Redirect URIs i Web Origins

1 Aktualizacja

enter image description here

2 Update z adresu URL

enter image description here

+0

Spróbuję i zaktualizuję, dzięki! –

+0

Nie miałem portów, tylko wartości domyślne, zaktualizuję moje pytanie, by zawierało zrzut ekranu z paczki z kluczami. Próbuję również dodać "localhost" do tych pól –

+0

Czy http: // localhost jest adresem URL, który próbujesz zabezpieczyć? Jeśli nie, dodaj adres URL, który próbujesz zabezpieczyć. Rozszerzyłem swoją odpowiedź także o zrzut ekranu. –

Powiązane problemy