Class RSocketSecurity

java.lang.Object
org.springframework.security.config.annotation.rsocket.RSocketSecurity

public class RSocketSecurity extends Object
Allows configuring RSocket based security. A minimal example can be found below:
@Configuration
@EnableRSocketSecurity
public class SecurityConfig {
    @Bean
    PayloadSocketAcceptorInterceptor rsocketInterceptor(RSocketSecurity rsocket) {
        rsocket
            .authorizePayload((authorize) ->
                authorize
                    .anyRequest().authenticated()
            );
        return rsocket.build();
    }

    @Bean
    public MapReactiveUserDetailsService userDetailsService() {
         UserDetails user = User.withDefaultPasswordEncoder()
              .username("user")
              .password("password")
              .roles("USER")
              .build();
         return new MapReactiveUserDetailsService(user);
    }
}
A more advanced configuration can be seen below:
@Configuration
@EnableRSocketSecurity
public class SecurityConfig {
    @Bean
    PayloadSocketAcceptorInterceptor rsocketInterceptor(RSocketSecurity rsocket) {
        rsocket
            .authorizePayload((authorize) ->
                authorize
                    // must have ROLE_SETUP to make connection
                    .setup().hasRole("SETUP")
                     // must have ROLE_ADMIN for routes starting with "admin."
                    .route("admin.*").hasRole("ADMIN")
                    // any other request must be authenticated for
                    .anyRequest().authenticated()
            );
        return rsocket.build();
    }
}
Since:
5.2