相同资源的spring引导安全性、api密钥保护或oauth2 resourceserver

c90pui9n  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(209)

我有一个springboot2.4应用程序,我想用api密钥或资源服务器来保护它。我在想,我可以在这里使用过滤器,首先检查是否提供了api密钥,如果是,则授予对资源的访问权限,否则应该给“第二次机会”使用不透明的oauth2令牌(机器到机器的api密钥,前端->后端的令牌)进行身份验证
我陷入困境的地方是,我的安全配置今天看起来像这样(激活了一个资源服务器)

@Bean
    fun springSecurityFilterChain(http: ServerHttpSecurity): SecurityWebFilterChain? =
        http.authorizeExchange()
            .anyExchange().authenticated()
            .and()
            .oauth2ResourceServer {
                it.authenticationManagerResolver(myMultiTenantResolver)
            }
            .build()

我如何在这里添加一个api保护,它应该授予访问权限(如果成功),而不在这里调用resourceserver代码段(如果不成功,应该调用resourceserver代码段)?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题