keycloak~遠程資源授權(quán)uma
17.1遠程資源授權(quán)準備
17.1.1認證和訪問流程圖
參考:http://www.zyiz.net/tech/detail-141309.html

17.1.2為用戶指定角色
可以使用ROLE_USER和ROLE_ADMIN 兩種角色


17.1.3添加認證服務(wù)和資源服務(wù)


17.1.4配置客戶端的認證權(quán)限

17.1.5資源服務(wù)器打開遠程授權(quán)

Policy Enforcement Mode:指定授權(quán)服務(wù)器接受到請求時策略如何執(zhí)行
Enforcing:當(dāng)資源沒有配置關(guān)聯(lián)的策略時,請求默認被拒絕訪問,這也是默認的選項
Permissive:當(dāng)資源沒有配置關(guān)聯(lián)的策略時,請求允許訪問,但也需要先登錄,否則拒絕訪問
Disabled:禁用所有資源的所有訪問策略
Decision Strategy:表示權(quán)限最終是如何計算的策略,以決定相應(yīng)的資源是否能獲得授權(quán)
Affirmative :至少一個權(quán)限計算做出正向決定
Unanimous:所有的權(quán)限計算都要做出正向決定
17.1.6配置資源客戶端的uma_protection角色
這一步非常重要,如果沒有配置,遠程授權(quán)會是403
這個參考資料:https://stackoverflow.com/questions/47199243/spring-keycloak-adapter-permissions-policy-enforcer-how-to-set-it-up

17.1.7資源和權(quán)限及策略關(guān)系圖

17.2對資源授權(quán)的步驟
17.2.1建立資源

17.2.2建立策略

17.2.3建立權(quán)限
一個權(quán)限用關(guān)聯(lián)一個資源和多個策略

遠程授權(quán)配置
keycloak:
?auth-server-url: http://localhost:8080/auth
?realm: myrealm
?resource: resource-server
?credentials:
? ?secret: 0da76edf-e2df-49a9-a336-6b9bc35afa7e
?
?policy-enforcer-config:
? ?enforcement-mode: Enforcing #Permissive遠程沒有配置就放行;Enforcing遠程沒有配置直接403
?security-constraints:
? ?- auth-roles:
? ? ? ?- "*"
? ? ?security-collections:
? ? ? ?- name:
? ? ? ? ?patterns:
? ? ? ? ? ?- /*
注意:在keycloak管理平臺配置了uma之后,咱們的應(yīng)用程序需要重啟才能生效
