Как сохранить дополнительные параметры на приёмнике с помощью keycloak? - PullRequest
0 голосов
/ 13 мая 2019

У меня есть приложение с весенней загрузкой, я интегрирую приложение с keycloak, но я не нашел ничего о том, как создать собственный принципал в контексте keycloak.

Например, как я могу сохранитьвыбранный профиль пользователя?

Моя конфигурация.

@ConditionalOnMissingClass("org.springframework.test.context.junit4.SpringRunner")
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled=true)
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
public class SecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter {

       @Autowired
        public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
            KeycloakAuthenticationProvider keyCloakAuthProvider = keycloakAuthenticationProvider();
            keyCloakAuthProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper());
            auth.authenticationProvider(keyCloakAuthProvider);
        }

        @Bean
        public KeycloakConfigResolver KeyCloakConfigResolver() {
            return new KeycloakSpringBootConfigResolver();
        }

        @Override
        protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
            return new NullAuthenticatedSessionStrategy();
        }

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            super.configure(http);
            http.cors()
                .and()
                .csrf()
                .disable()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .sessionAuthenticationStrategy(sessionAuthenticationStrategy())
                .and()
                .authorizeRequests()
                .antMatchers("/api/**").authenticated()
                .anyRequest().permitAll();
        }
}

приложения только с пружинной защитой, я создаю пользовательского пользователя в токеме при реализации AuthenticationProvider.

Извините за мой английский:)

...