Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
grpcVersion=1.76.0


springBootVersion=3.5.7
springCloudVersion=2025.0.0
springBootVersion=4.0.0
springCloudVersion=2025.1.0

gradleErrorPronePluginVersion=3.0.1
errorProneVersion=2.16
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion grpc-spring-boot-starter-demo/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ dependencies {
implementation project(':grpc-spring-boot-starter')
implementation project(':grpc-client-spring-boot-starter')

testImplementation 'org.springframework.boot:spring-boot-starter-aop'
testImplementation 'org.springframework.boot:spring-boot-starter-aop:4.0.0-M2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'com.github.stefanbirkner:system-rules:1.18.0'
testImplementation('org.springframework.cloud:spring-cloud-starter-consul-discovery')
Expand Down
1 change: 1 addition & 0 deletions grpc-spring-boot-starter/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ dependencies {
compileOnly("org.springframework.boot:spring-boot-starter-security")
compileOnly "org.springframework.security:spring-security-oauth2-resource-server"
compileOnly "org.springframework.security:spring-security-oauth2-jose"
compileOnly "org.springframework.security:spring-security-access"
compileOnly 'org.springframework.boot:spring-boot-starter-validation'
compileOnly "org.springframework.boot:spring-boot-starter-actuator"
compileOnly "org.springframework.boot:spring-boot-starter-validation"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
import org.springframework.boot.validation.autoconfigure.ValidationAutoConfiguration;
import org.springframework.boot.context.properties.ConfigurationPropertiesBindHandlerAdvisor;
import org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
import org.springframework.boot.context.properties.bind.AbstractBindHandler;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,18 @@
import org.lognet.springboot.grpc.context.LocalRunningGrpcPort;
import org.lognet.springboot.grpc.health.ManagedHealthStatusService;
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.CompositeHealthContributor;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthContributor;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.health.autoconfigure.contributor.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.health.contributor.AbstractHealthIndicator;
import org.springframework.boot.health.contributor.CompositeHealthContributor;
import org.springframework.boot.health.contributor.Health;
import org.springframework.boot.health.contributor.HealthContributor;
import org.springframework.boot.health.contributor.HealthIndicator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.EventListener;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package org.lognet.springboot.grpc.autoconfigure.consul;

import com.ecwid.consul.v1.agent.model.NewService;
import io.grpc.Server;
import io.grpc.ServerServiceDefinition;
import io.grpc.health.v1.HealthGrpc;
import org.lognet.springboot.grpc.autoconfigure.GRpcServerProperties;
import org.springframework.cloud.consul.discovery.ConsulDiscoveryProperties;
import org.springframework.cloud.consul.model.http.agent.NewService;
import org.springframework.cloud.consul.serviceregistry.ConsulAutoRegistration;
import org.springframework.context.ApplicationContext;
import org.springframework.util.CollectionUtils;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.lognet.springboot.grpc.autoconfigure.consul;

import com.ecwid.consul.json.GsonFactory;
import com.ecwid.consul.v1.agent.model.NewService;
import io.grpc.Server;
import org.springframework.cloud.consul.model.http.agent.NewService;
import org.springframework.context.ApplicationContext;

import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import org.lognet.springboot.grpc.autoconfigure.GRpcAutoConfiguration;
import org.lognet.springboot.grpc.autoconfigure.GRpcServerProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
import org.springframework.boot.micrometer.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
import org.springframework.boot.micrometer.metrics.autoconfigure.MetricsAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.AllNestedConditions;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import org.springframework.security.core.Authentication;
import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
import org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken;
import org.springframework.security.oauth2.server.resource.BearerTokenError;
import org.springframework.security.oauth2.server.resource.authentication.BearerTokenAuthenticationToken;

import java.util.Optional;
import java.util.regex.Matcher;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ public GrpcSecurity(ObjectPostProcessor<Object> objectPostProcessor) {

}

public GrpcServiceAuthorizationConfigurer.Registry authorizeRequests()
throws Exception {
public GrpcServiceAuthorizationConfigurer.Registry authorizeRequests() {

return getOrApply(new GrpcServiceAuthorizationConfigurer (applicationContext.getBean(GRpcServicesRegistry.class)))
.getRegistry();
Expand Down Expand Up @@ -77,12 +76,12 @@ public GrpcSecurity authenticationProvider(AuthenticationProvider authentication
}

@Override
protected void beforeConfigure() throws Exception {
protected void beforeConfigure() {

}

@Override
protected ServerInterceptor performBuild() throws Exception {
protected ServerInterceptor performBuild() {



Expand Down Expand Up @@ -132,7 +131,7 @@ public int vote(Authentication authentication, MethodInvocation method, Collecti
return securityInterceptor;
}
@SuppressWarnings("unchecked")
private <C extends SecurityConfigurerAdapter<ServerInterceptor, GrpcSecurity>> C getOrApply(C configurer) throws Exception {
private <C extends SecurityConfigurerAdapter<ServerInterceptor, GrpcSecurity>> C getOrApply(C configurer) {
C existingConfig = (C) getConfigurer(configurer.getClass());
if (existingConfig != null) {
return existingConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration;
import org.springframework.boot.security.autoconfigure.UserDetailsServiceAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor;
import org.springframework.security.authentication.AuthenticationManager;
Expand Down Expand Up @@ -141,7 +142,8 @@ public BearerTokenAuthSchemeSelector bearerTokenAuthSchemeSelector() {
@ConditionalOnBean(ObjectPostProcessor.class)
@ConditionalOnMissingBean(value = { AuthenticationManager.class, AuthenticationProvider.class, UserDetailsService.class,
AuthenticationManagerResolver.class }, type = "org.springframework.security.oauth2.jwt.JwtDecoder")
static class DefaultUserDetailsServiceAutoConfiguration extends UserDetailsServiceAutoConfiguration {}
@Import(UserDetailsServiceAutoConfiguration.class)
static class DefaultUserDetailsServiceAutoConfiguration {}

@Autowired(required = false)
@SuppressWarnings({ "rawtypes", "unchecked" })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void setApplicationContext(ApplicationContext context) throws Exception {
}

@Override
public void init(GrpcSecurity builder) throws Exception {
public void init(GrpcSecurity builder) {
builder.apply(new GrpcServiceAuthorizationConfigurer(builder.getApplicationContext().getBean(GRpcServicesRegistry.class)));
builder.setSharedObject(AuthenticationManagerBuilder.class, authenticationManagerBuilder);
final AuthenticationSchemeService authenticationSchemeService = new AuthenticationSchemeService();
Expand All @@ -54,7 +54,7 @@ public void init(GrpcSecurity builder) throws Exception {


@Override
public void configure(GrpcSecurity builder) throws Exception {
public void configure(GrpcSecurity builder) {
try {
final Class<?> jwtDecoderClass = Class.forName("org.springframework.security.oauth2.jwt.JwtDecoder");
final String[] beanNames = context.getBeanNamesForType(jwtDecoderClass);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public Registry getRegistry() {
}

@Override
public void configure(GrpcSecurity builder) throws Exception {
public void configure(GrpcSecurity builder) {
registry.processSecuredAnnotation();
builder.setSharedObject(GrpcSecurityMetadataSource.class, new GrpcSecurityMetadataSource(registry.servicesRegistry, registry.securedMethods));
}
Expand Down Expand Up @@ -221,7 +221,7 @@ void map(String attribute, List<MethodDescriptor<?, ?>> methods) {
}

public GrpcSecurity and() {
return GrpcServiceAuthorizationConfigurer.this.and();
return GrpcServiceAuthorizationConfigurer.this.getBuilder();
}
}
}
Loading