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属性。我将如何使用webflux进行同样的操作?
答案 0 :(得分:0)
我不知道它是否真的适用于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