Как получить Авторизацию (разрешения) в keycloak JWT? - PullRequest
0 голосов
/ 20 сентября 2019

Цель : я пытаюсь добавить детали авторизации в JWT с помощью настраиваемого преобразователя для Keycloak, чтобы при входе пользователя в систему с использованием страницы входа в систему его токен также содержал все разрешения, которыеприменимо.В качестве примера, вот следующий код (декодированный из JWT):

"authorization": {
    "permissions": [
      {
        "scopes": [
          "edit",
          "buy"
        ],
        "rsid": "af23b104-1d7e-41ab-7600-6d5bb405ad8e",
        "rsname": "Custom Resource"
      }
    ]}

Чтобы быть более точным, я пытаюсь получить аналогичный результат, как если бы использовать grant_type = urn: ietf: params: oauth: grant-type: uma-ticket, но прямо со страницы входа в систему Keycloak по умолчанию.

Что я пробовал : я пытался создать собственный маппер на основе этого примера: https://github.com/mschwartau/keycloak-custom-protocol-mapper-example

Я посмотрел базовый код Keycloak, но, похоже, нет никакого способа включить данные авторизации в токены, используя поведение по умолчанию.Из того, что я мог найти, данные могут быть в KeycloakPrincipal, но я не уверен, что это правда, потому что, кажется, нет способа получить это.Впрочем, я могу ошибаться, поскольку я не очень разбираюсь в Keycloak.

В качестве примечания, использую grant_type = urn: ietf: params: oauth: grant-type: uma-ticket в остальныхвызов работает, но, к сожалению, это неприемлемое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...