Skip to content

Commit

Permalink
feat: openapi filter 优化 #10679
Browse files Browse the repository at this point in the history
  • Loading branch information
yongyiduan committed Sep 20, 2024
1 parent d4ddd69 commit e80c3f8
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,12 @@
*/

package com.tencent.devops.openapi.config

import com.tencent.devops.openapi.filter.manager.ApiFilterManagerCache
import com.tencent.devops.openapi.filter.manager.ApiFilterManagerChain
import com.tencent.devops.openapi.filter.manager.DefaultApiFilterChain
import com.tencent.devops.openapi.service.op.DefaultOpAppUserService
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
Expand All @@ -39,4 +44,8 @@ class OpenAPiConfiguration {
@Bean
@ConditionalOnMissingBean(name = ["opAppUserService"])
fun opAppUserService() = DefaultOpAppUserService()

@Bean
@ConditionalOnMissingBean(ApiFilterManagerChain::class)
fun opAppUserService(@Autowired managerCache: ApiFilterManagerCache) = DefaultApiFilterChain(managerCache)
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,13 @@

package com.tencent.devops.openapi.filter.manager

import com.tencent.devops.openapi.filter.manager.impl.AccessTokenFilter
import com.tencent.devops.openapi.filter.manager.impl.ApiPathFilter
import com.tencent.devops.openapi.filter.manager.impl.BlueKingApiFilter
import com.tencent.devops.openapi.filter.manager.impl.NoPermissionFilter
import com.tencent.devops.openapi.filter.manager.impl.SampleApiFilter
import javax.ws.rs.container.ContainerRequestContext
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service

@Service
class SampleApiFilterChain @Autowired constructor(
class DefaultApiFilterChain(
private val managerCache: ApiFilterManagerCache
) : ApiFilterManagerChain {

Expand All @@ -45,7 +42,7 @@ class SampleApiFilterChain @Autowired constructor(
requestContext = FilterContext(requestContext),
chain = listOf(
managerCache.getFilter(ApiPathFilter::class.java),
managerCache.getFilter(SampleApiFilter::class.java),
managerCache.getFilter(AccessTokenFilter::class.java),
managerCache.getFilter(NoPermissionFilter::class.java),
managerCache.getFilter(BlueKingApiFilter::class.java)
).iterator()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service

@Service
class SampleApiFilter constructor(
class AccessTokenFilter constructor(
private val client: Client
) : ApiFilterManager {
companion object {
private val logger = LoggerFactory.getLogger(SampleApiFilter::class.java)
private val logger = LoggerFactory.getLogger(AccessTokenFilter::class.java)
}

@Value("\${auth.accessToken.enabled:#{null}}")
Expand Down

0 comments on commit e80c3f8

Please sign in to comment.