diff --git a/spring-grpc-core/src/main/java/org/springframework/grpc/server/security/AuthenticationProcessInterceptor.java b/spring-grpc-core/src/main/java/org/springframework/grpc/server/security/AuthenticationProcessInterceptor.java index 3a306fc8..897c5ecf 100644 --- a/spring-grpc-core/src/main/java/org/springframework/grpc/server/security/AuthenticationProcessInterceptor.java +++ b/spring-grpc-core/src/main/java/org/springframework/grpc/server/security/AuthenticationProcessInterceptor.java @@ -96,11 +96,10 @@ else if (user == null || !user.isAuthenticated()) { throw new BadCredentialsException("not authenticated"); } - SecurityContext currentContext = SecurityContextHolder.getContext(); try { - Context context = Context.current().withValue(GrpcSecurity.SECURITY_CONTEXT_KEY, currentContext); + Context context = Context.current().withValue(GrpcSecurity.SECURITY_CONTEXT_KEY, securityContext); return new SecurityContextHandlerListener(Contexts.interceptCall(context, call, headers, next), - currentContext); + securityContext); } finally { SecurityContextHolder.clearContext();