Keycloak http Информация о претензиях провайдера - PullRequest
0 голосов
/ 19 сентября 2018

Мы выбрали keycloak для аутентификации и авторизации для сервисов весенней загрузки.Мы успешно внедрили RBAC usecase.Но мы хотим перейти на ABAC, где это дает нам много контроля.Мы посмотрели на CIP (пункт информации о претензиях) и протестировали его, выдвинув претензию из app.properties и проверив ее в политике js.Но наше требование состоит в том, чтобы получить тип метода http и проверить, является ли он GET / POST / PUT / DELETE и т. Д., А затем решить, разрешать или нет по роли.Мы достигли его, бросив ниже config в application.properties

keycloak.policy-enforcer-config.paths[0].path=/*
keycloak.policy-enforcer-config.paths[0].claimInformationPointConfig.claims[claim-from-method]={request.method}

И проверив это в политике js, как показано ниже

var context = $evaluation.context;

var attributes = context.attributes;

if (attributes.containsValue('some-claim', 'claim-value')) {
    $evaluation.grant();
}

Но я видел, что есть HttpClaimInformationPointProvider и , поэтомухочет выяснить, есть ли способ проверить это непосредственно в js-policy, не выталкивая его из app.properties.

...