Для имитации потока авторизации я создал следующее:
Клиент: управление курсом
Пользователи: - teacher@gmail.com - student@gmail.com
Роли: - Учитель - Ученик
Ресурс: - Курс
Учитель имеет право просматривать и удалять доступ к курсу, а ученик имеет доступ только для чтения. Это делается путем создания просмотра и удаления областей в клиенте управления курсом. Затем я создал разрешение для просмотра и удаления на основе области действия.
Когда я go перехожу на вкладку оценки в авторизации и устанавливаю роль для студента, а ресурс для управления курсом, это показывает, что чтение разрешено, а удаление запрещено.
Как я могу получить поддержку принятия этого решения через конечные точки 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
}