2017-08-08 71 views
0

我已經確保包含我的Web服務的WAR。 我已經添加了以下keycloak.json「資源」屬性在我的keycloak.json中被忽略

{ 
    "realm": "myRealm", 
    "auth-server-url": "*****************", 
    "ssl-required": "external", 
    "resource": "WS", 
    "bearer-only": true, 
    "enable-cors": true, 
    "principal-attribute" : "preferred_username" 
} 

而且我keycloak的「WS」客戶端上添加承載,只有真正的和其他客戶產生了USB Key。

一切正常,戰爭是安全的。 但我不認爲在我的「資源」屬性中給出的名稱會改變任何東西。 如果我寫「資源」:「任何」或「資源」:「onetwothree」...它仍然會工作..

我不明白爲什麼,我想我會收到一個錯誤,如資源「 onetwothree「不存在,否則,但它仍然有效,我認爲有什麼問題... 你有什麼想法嗎?

謝謝:)

回答

1

我從塞巴斯蒂安·布蘭克的響應,我與大家分享,也許它可以幫助你的..

這是因爲的「承載專用」性質你的客戶。只有令牌被驗證。在某些情況下,如果使用「使用資源角色映射」,則可以使用「資源」屬性(https://github.com/keycloak/keycloak/blob/master/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/BearerTokenRequestAuthenticator.java#L99-L103

因此,這是一種正常行爲,我可以將任何值設置爲「資源」屬性,因爲我沒有將「use-resource-role-mappings」設置爲true,並且該值默認爲false。