【发布时间】:2021-04-27 09:50:42
【问题描述】:
我有一个 Spring Boot 2.4 应用程序,我想用 API 密钥或资源服务器来保护它。我在想我可以在这里使用过滤器首先检查是否提供了 api 密钥,如果是,则授予对资源的访问权限,否则应该给予“第二次机会”以使用不透明的 oauth2-token 进行身份验证(机器的 api 密钥到机器,前端令牌 -> 后端)
我卡住的地方是我的安全配置今天看起来像这样(激活了资源服务器)
@Bean
fun springSecurityFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain? =
http.authorizeExchange()
.anyExchange().authenticated()
.and()
.oauth2ResourceServer {
it.authenticationManagerResolver(myMultiTenantResolver)
}
.build()
我将如何在这里添加一个 API 保护,它应该授予访问权限(如果它成功)而不在这里调用 resourceServer-sn-p(如果它不成功,resourceServer-sn-p 应该被调用)?
【问题讨论】:
标签: spring-boot spring-security oauth-2.0 api-key