Throw obvious exception in case no oauth2 providers have been defined

This commit is contained in:
Roman Zabaluev 2023-07-03 19:59:21 +08:00
parent ab58618d83
commit 2dd049b3bd
2 changed files with 6 additions and 2 deletions

View file

@ -104,6 +104,9 @@ public class OAuthSecurityConfig extends AbstractAuthSecurityConfig {
final OAuth2ClientProperties props = OAuthPropertiesConverter.convertProperties(properties); final OAuth2ClientProperties props = OAuthPropertiesConverter.convertProperties(properties);
final List<ClientRegistration> registrations = final List<ClientRegistration> registrations =
new ArrayList<>(OAuth2ClientPropertiesRegistrationAdapter.getClientRegistrations(props).values()); new ArrayList<>(OAuth2ClientPropertiesRegistrationAdapter.getClientRegistrations(props).values());
if (registrations.isEmpty()) {
throw new IllegalArgumentException("OAuth2 authentication is enabled but no providers specified.");
}
return new InMemoryReactiveClientRegistrationRepository(registrations); return new InMemoryReactiveClientRegistrationRepository(registrations);
} }

View file

@ -1,13 +1,14 @@
package com.provectus.kafka.ui.config.auth.condition; package com.provectus.kafka.ui.config.auth.condition;
import com.provectus.kafka.ui.service.rbac.AbstractProviderCondition; import com.provectus.kafka.ui.service.rbac.AbstractProviderCondition;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext; import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.core.type.AnnotatedTypeMetadata;
public class CognitoCondition extends AbstractProviderCondition implements Condition { public class CognitoCondition extends AbstractProviderCondition implements Condition {
@Override @Override
public boolean matches(final ConditionContext context, final AnnotatedTypeMetadata metadata) { public boolean matches(final ConditionContext context, final @NotNull AnnotatedTypeMetadata metadata) {
return getRegisteredProvidersTypes(context.getEnvironment()).stream().anyMatch(a -> a.equalsIgnoreCase("cognito")); return getRegisteredProvidersTypes(context.getEnvironment()).stream().anyMatch(a -> a.equalsIgnoreCase("cognito"));
} }
} }