Конечная точка HTTP Keycloak для авторизации запросов на основе разрешений и областей

Чтобы смоделировать поток authz, я создал следующее:

Клиент: управление курсом

Пользователи: - teacher@gmail.com - student@gmail.com

Роли: - Учитель - Ученик

Ресурс: - Курс

Преподаватель имеет доступ на просмотр и удаление курса, а студент - только на чтение. Это делается путем создания просмотра и удаления областей в клиенте управления курсом. Затем я создал разрешение на просмотр и удаление на основе области.

Когда я перехожу на вкладку оценки в авторизации и устанавливаю роль студента и ресурса для управления курсом, он показывает, что чтение разрешено, а удаление запрещено.

Как я могу получить поддержку этого решения через конечные точки HTTP. Например, если я получаю вызов GET дляhttp://localhost/course/1 с токеном JWT, как я могу перенаправить его в keycloak для авторизации?

Ниже приводится страница оценки:

Ниже приведены результаты оценки:

Ниже приводится сетевой вызов для оценки:

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 ответов

Другие вопросы по тегам