如何为 Spring webflux 应用程序配置 oauth2 资源服务器?



Spring security 5.1.0.Rc1 在 webflux - https://spring.io/blog/2018/08/21/spring-security-5-1-0-rc1-released 中提供了对 OAuth2 资源服务器的支持。

这里给出的例子讨论了基于 JWT 格式的 Oauth2 。 如何配置基于 OAuth2 的资源服务器并指定令牌解码 URI

。在春季MVC中,我可以使用@EnableResourceServer和security.oauth2.resource.token-info-uri属性。我将如何对网络流量做同样的事情?

我不知道它是否真的适用于 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'
}

application.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

最新更新