无法使用带有身份验证的伪装客户端生成的摇摇欲坠,属性无效

问题描述 投票:0回答:1

我在正确使用招摇生成的伪装客户端时遇到麻烦。我的服务使用密码流为客户端生成令牌,大张旗鼓生成的伪客户端及其配置如下:

假客户端配置:

@Configuration
@EnableConfigurationProperties
public class ClientConfiguration {
public ClientConfiguration() {
}

@Bean
@ConditionalOnProperty({"app.security.oAuth2.client-id"})
public OAuth2FeignRequestInterceptor oAuth2RequestInterceptor() {
    return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), this.oAuth2ResourceDetails());
}

@Bean
@ConditionalOnProperty({"app.security.oAuth2.client-id"})
@ConfigurationProperties("app.security.oAuth2")
public ResourceOwnerPasswordResourceDetails oAuth2ResourceDetails() {
    ResourceOwnerPasswordResourceDetails details = new ResourceOwnerPasswordResourceDetails();
    details.setAccessTokenUri("https://localhost:8000/as/token.oauth2");
    return details;
}
}

假客户定义:

@FeignClient(name = "${app.name:app}", url = "${app.url:https://localhost}", configuration = {ClientConfiguration.class}
)
public interface FlowApiClient extends FlowApi {
}

我的application.yml

app:
  name: appName
  url: http://localhost:8080
  security:
    oAuth2:
      client-id: 123
      client-secret: 456
      username: test
      password: test

然后我收到以下错误消息:

原因:org.springframework.boot.context.properties.source.InvalidConfigurationPropertyNameException:配置属性名称'app.security.oAuth2'无效

spring spring-security-oauth2 swagger-codegen spring-cloud-feign
1个回答
1
投票

您不能拥有带有大写字母(o A uth2)的ConfigurationProperties属性名称。

所以代替:

oAuth2

尝试:

oauth2

另外,请参阅Spring官方文档中的“问题”以获取更多信息:https://github.com/spring-projects/spring-boot/issues/9545

© www.soinside.com 2019 - 2024. All rights reserved.