2016-05-09 75 views
6

我使用Node.JS(express)和一個名爲keycloak-connect的NPM連接到keycloak服務器。
當我實現默認機制描述爲保護航線:獲取「無效參數:redirect_uri」嘗試使用KeyCloak進行NODE.JS身份驗證

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

我得到簡稱keycloak,但有以下錯誤:「無效參數:REDIRECT_URI

我查詢字符串是:(xx作示範)
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

我keycloak.json是:(XX爲正在示威離子)

{ 
    "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

回答

11

我猜您在客戶端設置選項卡中添加了一個端口連接到客戶端的URL。

例如

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

只是刪除

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

也是如此Valid Redirect URIsWeb Origins

1更新

enter image description here

2更新你的URL的端口

enter image description here

+0

我會盡力而且更新,謝謝! –

+0

我沒有端口,只是默認值,我會更新我的問題以包含keycloak的屏幕截圖。我也嘗試在這些字段中添加「localhost」 –

+0

http:// localhost是你試圖保護的url嗎?如果不添加您嘗試保護的URL。我也用截圖擴展了我的答案。 –

相關問題