mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Create properties despite used-defined ClientRegistrationRepository
Update `OAuth2ClientConfigurations` so that properties are created regardless of a user-defined `ClientRegistrationRepository` bean. Fixes gh-51447
This commit is contained in:
+1
-1
@@ -41,10 +41,10 @@ class OAuth2ClientConfigurations {
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnOAuth2ClientRegistrationProperties
|
||||
@EnableConfigurationProperties(OAuth2ClientProperties.class)
|
||||
@ConditionalOnMissingBean(ClientRegistrationRepository.class)
|
||||
static class ClientRegistrationRepositoryConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(ClientRegistrationRepository.class)
|
||||
InMemoryClientRegistrationRepository clientRegistrationRepository(OAuth2ClientProperties properties) {
|
||||
List<ClientRegistration> registrations = new ArrayList<>(
|
||||
new OAuth2ClientPropertiesMapper(properties).asClientRegistrations().values());
|
||||
|
||||
+13
@@ -82,6 +82,19 @@ class OAuth2ClientAutoConfigurationTests {
|
||||
.run((context) -> assertThat(context).hasSingleBean(OAuth2AuthorizedClientService.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void propertiesBeanIsCreatedWithUserDefinedClientRegistrationRepository() {
|
||||
this.contextRunner
|
||||
.withPropertyValues(REGISTRATION_PREFIX + ".foo.client-id=abcd",
|
||||
REGISTRATION_PREFIX + ".foo.client-secret=secret", REGISTRATION_PREFIX + ".foo.provider=github")
|
||||
.withBean(ClientRegistrationRepository.class,
|
||||
() -> new InMemoryClientRegistrationRepository(getClientRegistration("test", "test")))
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(OAuth2ClientProperties.class);
|
||||
assertThat(context).hasSingleBean(OAuth2AuthorizedClientService.class);
|
||||
});
|
||||
}
|
||||
|
||||
private ClientRegistration getClientRegistration(String id, String userInfoUri) {
|
||||
ClientRegistration.Builder builder = ClientRegistration.withRegistrationId(id);
|
||||
builder.clientName("foo")
|
||||
|
||||
Reference in New Issue
Block a user