Аутентификация пользователя по клиенту в Keycloak - PullRequest
0 голосов
/ 08 июля 2019

У меня есть настройка сервера Keycloak с областью и клиентом.У меня есть настройки авторизации на клиенте, и я могу оценить аутентификацию в интерфейсе администратора.

Когда я нажимаю «Показать данные авторизации», я вижу в ответе атрибут authorization с permissions.

У меня есть веб-клиент, который использует перенаправление через keycloak для аутентификации oidc.Я хотел бы ограничить, какие пользователи с блокировкой клавиш могут войти в клиент, поэтому я хотел бы авторизовать вход в систему, но я не могу видеть атрибут authorization в JWT.

Я совершенно не понимаю, как это работает, или я могу что-то сделать, чтобы увидеть этот атрибут?

1 Ответ

0 голосов
/ 08 июля 2019

ОК, наконец-то я обошёл это. Краткий ответ - мне нужно RTFM.

Длинный ответ - мне нужно было дважды попасть в конечную точку токена. Первый раз с grant_type = authorization_code для получения токена доступа. Затем снова с grant_type = urn:ietf:params:oauth:grant-type:uma-ticket (и с токеном доступа в заголовке), чтобы заставить клиент keycloak аутентифицироваться.

Если второй ответ возвращается как 403 - access_denied, то я отклоняю регистрацию, в противном случае я разрешаю пользователю войти в мою систему.

Конкретный нужный мне бит можно найти в документации здесь: https://www.keycloak.org/docs/6.0/authorization_services/#_service_obtaining_permissions

...