0

I am following up this accepted answer to set up Spring websocket authentication. The original answer has the following snippet to configure websocket authentication:

@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE + 99)
public class WebSocketAuthenticationSecurityConfig extends  WebSocketMessageBrokerConfigurer {
    @Inject
    private AuthChannelInterceptorAdapter authChannelInterceptorAdapter;
    
    @Override
    public void registerStompEndpoints(final StompEndpointRegistry registry) {
        // Endpoints are already registered on WebSocketConfig, no need to add more.
    }

    @Override
    public void configureClientInboundChannel(final ChannelRegistration registration) {
        registration.setInterceptors(authChannelInterceptorAdapter);
    }

}

But I find ChannelRegistration does not have setInterceptors method to set ChannelInterceptor

public class WebSocketAuthenticationSecurityConfig implements WebSocketMessageBrokerConfigurer {

@Override
    public void configureClientInboundChannel(ChannelRegistration registration) {
        // no registration.setInterceptors(...)
    }
}

Here is my build.gradle

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.5'
    id 'io.spring.dependency-management' version '1.1.0'
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Am I missing something?

Haohan Yang
  • 151
  • 1
  • 11

0 Answers0