Keycloak HTTP端点根据权限和范围授权请求

时间:2020-04-21 07:14:48

标签: keycloak keycloak-rest-api

为了模拟authz流,我创建了以下内容:

客户: 课程管理

用户: -Teacher@gmail.com -student@gmail.com

角色: - 老师 -学生

资源: -课程

教师具有查看和删除课程的权限,而学生仅具有读取权限。这是通过在课程管理客户端下创建查看和删除范围来完成的。然后,我创建了一个基于范围的查看和删除权限。

当我进入授权中的“评估”选项卡,并将角色设置为“学生”,并将资源设置为“课程管理”时,它显示允许读取,并且删除被拒绝。

如何通过HTTP端点获得此决策支持。例如,如果我收到带有JWT令牌的http://localhost/course/1的GET调用,如何将其重定向到密钥斗来进行授权?

以下是评估页: enter image description here

以下是评估结果: enter image description here

以下是网络评估电话:

URL: https://keycloak.com/auth/admin/realms/test/clients/ea64b9d5-e924-4cbd-bd0a-31b34a908d8a/authz/resource-server/policy/evaluate
POST data = {
  "resources": [
    {
      "name": "Course Resource",
      "owner": {
        "id": "ea64b9d5-e924-4cbd-bd0a-31b34a908d8a",
        "name": "Course-management"
      },
      "ownerManagedAccess": false,
      "displayName": "course",
      "_id": "59a4e1ab-dd61-4ecb-823b-74f0930e83c5",
      "uris": [
        "/courses/*"
      ],
      "scopes": [
        "view",
        "delete"
      ]
    }
  ],
  "context": {
    "attributes": {}
  },
  "roleIds": [
    "teacher"
  ],
  "userId": "27fc3b7f-3c4e-4ad4-9008-979730255129",
  "entitlements": false
}

0 个答案:

没有答案
相关问题