Spring Boot: combining Webflux, OAuth2 and HATEOAS

org.springframework.boot:spring-boot-starter-hateoas is indeed incompatible with org.springframework.boot:spring-boot-starter-webflux so instead of using org.springframework.boot:spring-boot-starter-hateoas, pull in the Spring HATEOAS dependency itself:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-webflux'
    implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
    //implementation 'org.springframework.boot:spring-boot-starter-hateoas'
    implementation 'org.springframework.hateoas:spring-hateoas:1.3.1'

    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}