Я использую Keycloak для защиты моего приложения Spring Boot rest.
Приложение также имеет интерфейс React.
Мой вопрос: должен ли быть защищен и передний конец с помощью Keycloak?
Если нет, когда бы вы закрепили передний конец, а также бэкэнд?
Да, это нормально - защищать интерфейс и бэкэнд с помощью keycloak.Тогда единый вход в систему может произойти во внешнем интерфейсе, а маркер доступа может быть передан бэкэнду.
JHipster предоставляет способ создания проектов, использующих эту настройку, но это больше для проектов, начинающихся с нуля.Если у вас уже есть настройка бэкэнд-приложения, вам нужно добавить keycloak в ваш веб-интерфейс, так что лучшим примером может быть https://github.com/novomatic-tech/keycloak-examples, https://github.com/andres81/spring-boot-reactjs-keycloak-webapp или https://blog.scalac.io/user-authentication-with-keycloak-part1.html
илиесли вы просто используете Oauth2 (а не какой-либо другой метод, поддерживаемый keycloak), то вы можете использовать библиотеку Oauth2 или OIDC для обработки входа в систему и передачи токена бэкэнду вместо библиотеки внешнего интерфейса keycloak.