Защита приложений с помощью Keycloak - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужна помощь в защите моих приложений с помощью keycloak:

У меня есть пара приложений Grails (App1 и App2), использующих Spring Security. Однако в настоящее время я использую API REST keycloak для аутентификации пользователей, передавая имя пользователя и пароль, и получая токен, не регистрируя эти приложения в качестве клиентов в Keycloak. Но этот подход кажется неэффективным, когда мы хотим поддерживать SSO, социальный вход в систему, Kerberos и другие мощные функции, которые предлагает Keycloak. Поэтому я предложил следующий подход для поддержки SSO / kerberos, но хотел знать, может ли Keycloak решить нашу проблему.

"Создайте новое главное приложение весенней загрузки (App3), зарегистрируйтесь в Keycloak и перенаправьте страницу входа в Keycloak. После успешного входа в систему используйте токен, который предоставляет keycloak, и передайте его в App1 и App2 и настройте мой существующий код Это возможно, потому что я не создаю здесь клиентов для app1 и app2 в keycloak, а только для app3, который является главным приложением? Обязательно ли регистрировать / создавать всех клиентов в Keycloak для поддержки SSO? "

1 Ответ

0 голосов
/ 14 ноября 2018

Насколько я понимаю, если вы зарегистрируете это мастер-приложение и будете использовать его для получения токенов, чтобы авторизовать app1 и app2, это сделает маркер доступа бесполезным. Поскольку идентификатор клиента и секретный ключ принадлежат основному приложению, токен доступа будет возвращать его в качестве аудитории в токене. Если вы проверяете утверждения в токене при доступе к ресурсу через app1 или app2, это вернет ошибку, поскольку целевая аудитория не достигнута. Если вы проигнорируете этот факт, любой, у кого есть токен, сможет получить доступ к любому ресурсу, вызывающему уязвимость системы безопасности.

Надеюсь, это поможет.

...