2016-02-29 285 views
1

我有一個與keycloak集成的應用程序。應用程序在野蠻服務器上運行。我使用web.xml來驗證keycloak(如Login配置)。除此之外,我使用keycloak.json文件,在應用程序中定義keycloak領域設置。 當我調用應用程序頁面時,在輸入憑證後會打開keycloak登錄頁面,它會返回到帶有403禁止錯誤的wildfly。蜻蜓與keycloak 403的集成禁止錯誤

以前,相同的設置工作,但現在啓用ssl後,我面臨這個問題。

請幫我解決這個問題,它是否需要任何其他額外的SSL設置。

感謝, JP

+0

請更改日誌記錄級別爲'Trace'和發佈可能會在server.log文件中得到任何錯誤 – Shiva

+1

您可以添加禁用'信託經理:在keycloak.json文件TRUE'和檢查作爲SSL證書可能不在信託經理 – Shiva

回答

0

問題在於keycloak配置。爲我的應用程序創建的角色沒有範圍。將角色啓用到完整範圍之後,問題就解決了。

+0

你能詳細說明如何更改範圍嗎? – krs8888

2

如果是登錄失敗啓用後,SSL那將是因爲SSL證書是不是在信任,你可能這個異常javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

爲此,您可以禁用的情況下以誠取信經理,在keycloak.json

{ 
    ... 
    "disable-trust-manager": true 
    } 

加入以下的conf如果這樣可以解決問題,然後做這將是該證書添加到信任存儲和SPE的正確方法在keycloak.json文件中將其引用如此。

​​
+0

但我沒有在日誌中得到任何例外。電話被轉發到keycloak。我登錄後,電話回到野蠻,我在屏幕上禁止這個。 –

+0

@JayapriyaAtheesan:我會建議增加wildfly中的日誌記錄級別,然後檢查logs.BTW你使用的是哪種keycloak版本? – Shiva

+0

我使用keycloak 1.6.0 final。我已經啓用了日誌以及最好的。但我沒有在日誌中得到任何錯誤 –

0

由於設置在沒有SSL的情況下工作,範圍相關的問題可能不會導致403錯誤。相反,可以先測試通過IDP HTTPS端口從客戶端應用程序服務器到IDP服務器的連接(可以使用telnet)。

否則,它可能是SSL證書驗證問題,由@Shiva回答。只需添加它,理想情況下,有效的CA證書可能不會產生信任問題。在這種情況下,可以檢查支持您的IDP證書CA的瀏覽器和Java版本。只需升級到最新的Java版本或將CA的根證書添加到您的默認信任庫即可解決此類問題。這不需要對keycloak.json文件進行任何更改。

GoDaddy certificate issue example

P.S:因爲我無法添加評論,所以在這裏添加了這些要點。