class EmbedReactiveAuthenticationManager implements ReactiveAuthenticationManagerProvider {

    private final EmbedAuthenticationProperties properties;

    @Override
    public Mono<Authentication> authenticate(Mono<AuthenticationRequest> request) {<FILL_FUNCTION_BODY>}

    @Override
    public Mono<Authentication> getByUserId(String userId) {
        return Mono.justOrEmpty(properties.getAuthentication(userId));
    }


}

        if (MapUtils.isEmpty(properties.getUsers())) {
            return Mono.empty();
        }
        return request.
                handle((req, sink) -> {
                    Authentication auth = properties.authenticate(req);
                    if (auth != null) {
                        sink.next(auth);
                    }
                });

    
<no_super_class>