Как настроить сервер ресурсов oauth2 для весеннего приложения webflux? - PullRequest
0 голосов
/ 24 сентября 2018

Spring security 5.1.0.Rc1 предлагает поддержку серверов ресурсов OAuth2 в webflux - https://spring.io/blog/2018/08/21/spring-security-5-1-0-rc1-released.

В приведенном здесь примере рассказывается об Oauth2 на основе формата JWT.Как я могу настроить сервер ресурсов oauth2 на основе и указать URI декодирования токена.

Весной MVC я могу использовать свойство @EnableResourceServer и security.oauth2.resource.token-info-uri.Как бы я сделал то же самое с webflux?

1 Ответ

0 голосов
/ 24 октября 2018

Я не знаю, работало ли оно на самом деле с RC1, но с 2.1.0.M1 я мог заставить его работать так:

build.gradle:

repositories {
    mavenCentral()
    maven {
        url 'https://repo.spring.io/libs-snapshot'
    }
}

dependencyManagement {
    imports {
        mavenBom 'org.springframework.cloud:spring-cloud-gateway:2.1.0.M1'
    }
}

dependencies {
    compile 'org.springframework.boot:spring-boot-starter-security'

    compile 'org.springframework.security:spring-security-oauth2-jose'
    compile 'org.springframework.security:spring-security-oauth2-client'
    compile 'org.springframework.security:spring-security-oauth2-resource-server'
}

приложение.yaml

spring:
 security:
    oauth2:
      resourceserver:
        jwt:
          jwk-set-uri: http://keycloak.example.com/auth/realms/your-realm/protocol/openid-connect/certs

Также есть образец в https://github.com/spring-projects/spring-security/tree/master/samples/boot/oauth2resourceserver-webflux

...