У меня есть приложение с компанией и пользователем microservices (весенняя загрузка), оба общаются друг с другом через интерфейс OpenFeign, а для управления идентификацией и доступом я использую Keycloak.
Первый вопрос: что является хорошим способом управления пользователями, это использование пользователя микросервиса или просто удовлетворение Keycloak
Второй вопрос: Я пытался защитить обе службы с помощью адаптера Keycloak, но когда Я отправляю запрос, который использует OpenFeign для связи с другим, я получаю неавторизованную ошибку, поэтому нужно ли защищать службу шлюза для реализации аутентификации SSO?
Свойства службы пользователя:
spring:
security:
oauth2:
resourceserver:
jwt:
jwk-set-uri: http://192.168.1.15:8080/auth/realms/myrealm/protocol/openid-connect/certs
keycloak.auth-server-url=http://192.168.1.15:8080/auth/
keycloak.realm=myrealm
keycloak.resource=user-service
keycloak.public-client=false
keycloak.bearer-only=true
служба пользователя WebSecurityConfig:
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors()
.disable()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.anyRequest()
.authenticated()
.and()
.oauth2ResourceServer()
.jwt();
}
}
свойства службы компании: такие же, как свойства службы пользователя