Настройка аутентификации клиента Keycloak x509 - PullRequest
0 голосов
/ 14 февраля 2020

Мне нужно несколько советов, чтобы понять, как выполнить проверку подлинности клиента с помощью сертификата x509 для Keycloak.

У нас есть простое Spring Boot Web App (API REST) ​​в кластере Kubernetes. Это веб-приложение публикуется c через API-шлюз (Ambassador) и в настоящее время защищено перенаправлением браузера на страницу входа в Keycloak, где пользователь может ввести свое имя пользователя и пароль.

Однако это не то, что нам нужно , Нам необходима клиентская аутентификация (React Native Mobile App), где:

  • Мобильное приложение пытается вызвать наши конечные точки REST Server API
  • Проверка посла на наличие действительного токена доступа и (если нет) ответьте HTTP-статусом 403 (без перенаправления браузера)
  • Мобильное приложение затем перенаправьте на Keycloak для выполнения аутентификации
  • Keycloak не показывает страницу входа в систему с именем пользователя / паролем, но вместо этого мобильное приложение передает сертификат пользователя x509 через браузер.

К сожалению, я не могу понять, как создать действительный и доверенный сертификат x509 с данными пользователя (информация, роли e cc). ) для получения токена доступа от IdP.

И ... как IdP может проверять и проверять этот сертификат клиента? Требуется ли где-нибудь аналог Key сертификата, установленный на Keycloak?

Какая правильная форма (например, с CURL) для передачи сертификата клиента в keycloak? Нужно ли передавать также закрытый ключ и почему?

1 Ответ

0 голосов
/ 18 февраля 2020

Пожалуйста, проверьте раздел Аутентификация пользователя клиентского сертификата X.509 в разделе 6 Руководства по администрированию сервера Keycloak, в котором описано:

  • как включить и настроить аутентификацию сертификата клиента в Wildfly и Keycloak
  • как сопоставить поля сертификата с атрибутами пользователя
  • рабочий процесс аутентификации сертификата клиента с помощью Keycloak / Wildfly (контейнер Keycloak).
...