keycloak~资源的远程授权

时间:2022-09-21 19:57:10

17.1.1认证和访问流程图

参考:http://www.zyiz.net/tech/detail-141309.html
keycloak~资源的远程授权

17.1.2为用户指定角色

可以使用ROLE_USER和ROLE_ADMIN 两种角色
keycloak~资源的远程授权
keycloak~资源的远程授权

17.1.3添加认证服务和资源服务

keycloak~资源的远程授权

keycloak~资源的远程授权

17.1.4配置客户端的认证权限

keycloak~资源的远程授权

17.1.5资源服务器打开远程授权

keycloak~资源的远程授权

Policy Enforcement Mode:指定授权服务器接受到请求时策略如何执行

  • Enforcing:当资源没有配置关联的策略时,请求默认被拒绝访问,这也是默认的选项
  • Permissive:当资源没有配置关联的策略时,请求允许访问,但也需要先登录,否则拒绝访问
  • Disabled:禁用所有资源的所有访问策略

Decision Strategy:表示权限最终是如何计算的策略,以决定相应的资源是否能获得授权

  • Affirmative :至少一个权限计算做出正向决定
  • Unanimous:所有的权限计算都要做出正向决定

17.1.6配置资源客户端的uma_protection角色

这一步非常重要,如果没有配置,远程授权会是403
这个参考资料:https://*.com/questions/47199243/spring-keycloak-adapter-permissions-policy-enforcer-how-to-set-it-up
keycloak~资源的远程授权

17.1.7资源和权限及策略关系图

keycloak~资源的远程授权

17.2对资源授权的步骤

17.2.1建立资源

keycloak~资源的远程授权

17.2.2建立策略

keycloak~资源的远程授权

17.2.3建立权限

一个权限用关联一个资源和多个策略
keycloak~资源的远程授权

远程授权配置

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
   security-constraints:
    - auth-roles:
        - "*"
  security-collections:
    - name:
      patterns:
       - /*