首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在春季启动应用程序中配置Keycloak 17 -元素[keycloak.keycloak.承载-仅]未绑定

无法在春季启动应用程序中配置Keycloak 17 -元素[keycloak.keycloak.承载-仅]未绑定
EN

Stack Overflow用户
提问于 2022-02-23 11:02:00
回答 2查看 765关注 0票数 1

我需要在Spring应用程序中禁用登录页面Keycloak重定向,这是我的配置:

application.yml

代码语言:javascript
复制
server:
  port: 8091
  connection-timeout: 6000
keycloak:
  enabled: true
  bearer-only: true
  auth-server-url: http://localhost:8484/auth
  realm: test-realm
  resource: my-test-client
  keycloak.bearer-only: true
  use-resource-role-mappings: false

SecurityConfig

代码语言:javascript
复制
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
public class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        super.configure(http);

        http.cors().and().csrf().disable().sessionManagement().

                sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
                .antMatchers("/users/unprotected-data").permitAll()
                .antMatchers("/users/create").permitAll()
                .antMatchers("/users/signin").permitAll()
                .anyRequest().authenticated();

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

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

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

    @Autowired
    public KeycloakClientRequestFactory keycloakClientRequestFactory;

    @Bean
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    public KeycloakRestTemplate keycloakRestTemplate(){
        return new KeycloakRestTemplate(keycloakClientRequestFactory);
    }
}

但是,我有一个错误配置消息,KeycloakSpringBootProperties不能绑定到ConfigurationProperties:

代码语言:javascript
复制
Description:

Binding to target [Bindable@7bb35cc6 type = org.keycloak.adapters.springboot.KeycloakSpringBootProperties, value = 'provided', annotations = array<Annotation>[@org.springframework.boot.context.properties.ConfigurationProperties(ignoreInvalidFields=false, ignoreUnknownFields=false, prefix=keycloak, value=keycloak)]] failed:

    Property: keycloak.keycloak.bearer-only
    Value: true
    Origin: class path resource [application.yml] - 10:25
    Reason: The elements [keycloak.keycloak.bearer-only] were left unbound.

Action:

Update your application's configuration

更新配置的正确方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-23 11:06:19

据我所知,

它不是keycloak.bearer-only: true就是

代码语言:javascript
复制
keycloak:
bearer-only: true

两者都是平等的。

但是你试图做的是keycloak.keycloak.bearer-only: true,这是不正确的。

下面是一个可能有用的answer

票数 2
EN

Stack Overflow用户

发布于 2022-02-25 08:30:57

v17中的auth服务器url --它是不带/auth的http://localhost:${port number},您可以在这里检查弹簧引导适配器配置https://www.keycloak.org/docs/latest/securing_apps/#_spring_boot_adapter,它也是keycloak.bearer-only=true而不是keycloak.keycloak.bearer-only=true

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71235702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档