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