refactor(security): 更新单令牌认证链路标识

- 将 API_KEY_CHAIN_ID 重命名为 SINGLE_TOKEN_CHAIN_ID
- 修改相关配置和定制器以使用新的链路标识
- 更新 SecurityConstants 中的相应常量定义
This commit is contained in:
gewuyou 2025-06-26 16:09:20 +08:00
parent 21542adfcc
commit 8042b45cea
5 changed files with 15 additions and 9 deletions

View File

@ -110,7 +110,7 @@ class ServletSingleTokenSecurityAutoConfiguration(
* 调用注册器构建安全链指定链 IDHttpSecurity 对象和请求匹配器 * 调用注册器构建安全链指定链 IDHttpSecurity 对象和请求匹配器
*/ */
return registrar.buildChain( return registrar.buildChain(
SecurityConstants.API_KEY_CHAIN_ID, SecurityConstants.SINGLE_TOKEN_CHAIN_ID,
http, http,
combinedMatcher combinedMatcher
) { config -> ) { config ->

View File

@ -113,7 +113,7 @@ class ReactiveSingleTokenSecurityAutoConfiguration(
val combinedMatcher: ServerWebExchangeMatcher = val combinedMatcher: ServerWebExchangeMatcher =
ServerWebExchangeMatchers.matchers(*matchers.toTypedArray()) ServerWebExchangeMatchers.matchers(*matchers.toTypedArray())
return registrar.buildChain( return registrar.buildChain(
SecurityConstants.API_KEY_CHAIN_ID, SecurityConstants.SINGLE_TOKEN_CHAIN_ID,
http, http,
combinedMatcher combinedMatcher
) { config -> ) { config ->

View File

@ -10,7 +10,7 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
* 基于单 Token 认证的安全配置定制器 * 基于单 Token 认证的安全配置定制器
* *
* 该类用于在 Spring Security 的过滤器链中注册并配置 API 密钥身份验证逻辑 * 该类用于在 Spring Security 的过滤器链中注册并配置 API 密钥身份验证逻辑
* 仅当当前安全链标识符匹配 API_KEY_CHAIN_ID 时生效 * 仅当当前安全链标识符匹配 SINGLE_TOKEN_CHAIN_ID 时生效
* *
* @property singleTokenAuthenticationFilter 处理 API 密钥身份验证请求的过滤器实例 * @property singleTokenAuthenticationFilter 处理 API 密钥身份验证请求的过滤器实例
* @since 2025-06-25 16:09:38 * @since 2025-06-25 16:09:38
@ -30,7 +30,7 @@ class SingleTokenHttpSecurityCustomizer(
* @return Boolean 返回 true 表示支持该 chainId否则不支持 * @return Boolean 返回 true 表示支持该 chainId否则不支持
*/ */
override fun supports(chainId: String): Boolean { override fun supports(chainId: String): Boolean {
return SecurityConstants.API_KEY_CHAIN_ID == chainId return SecurityConstants.SINGLE_TOKEN_CHAIN_ID == chainId
} }
/** /**

View File

@ -22,13 +22,13 @@ class SingleTokenServerHttpSecurityCustomizer(
* 判断当前定制器是否支持处理指定的安全链配置 * 判断当前定制器是否支持处理指定的安全链配置
* *
* 该方法用于标识此定制器是否适用于给定 chainId 所代表的安全配置场景 * 该方法用于标识此定制器是否适用于给定 chainId 所代表的安全配置场景
* 在本实现中仅当 chainId 与预定义的 API_KEY_CHAIN_ID 匹配时返回 true * 在本实现中仅当 chainId 与预定义的 SINGLE_TOKEN_CHAIN_ID 匹配时返回 true
* *
* @param chainId 安全链的唯一标识符用于区分不同的安全配置场景 * @param chainId 安全链的唯一标识符用于区分不同的安全配置场景
* @return Boolean 返回 true 表示支持该 chainId否则不支持 * @return Boolean 返回 true 表示支持该 chainId否则不支持
*/ */
override fun supports(chainId: String): Boolean { override fun supports(chainId: String): Boolean {
return SecurityConstants.API_KEY_CHAIN_ID == chainId return SecurityConstants.SINGLE_TOKEN_CHAIN_ID == chainId
} }
/** /**

View File

@ -4,6 +4,7 @@ package com.gewuyou.forgeboot.security.core.common.constants
* 安全相关常量定义 * 安全相关常量定义
* *
* 该对象存储与安全认证相关的通用常量便于统一管理和维护 * 该对象存储与安全认证相关的通用常量便于统一管理和维护
* 包含请求头字段名称令牌前缀及链路标识等关键信息
* *
* @since 2025-06-25 16:02:05 * @since 2025-06-25 16:02:05
* @author gewuyou * @author gewuyou
@ -11,26 +12,31 @@ package com.gewuyou.forgeboot.security.core.common.constants
object SecurityConstants { object SecurityConstants {
/** /**
* HTTP请求头中用于携带身份凭证的字段名称 * HTTP请求头中用于携带身份凭证的字段名称
* 通常在请求头中使用格式为 "Authorization: Bearer <token>"
*/ */
const val AUTHORIZATION_HEADER = "Authorization" const val AUTHORIZATION_HEADER = "Authorization"
/** /**
* HTTP请求头中用于携带刷新令牌的字段名称 * HTTP请求头中用于携带刷新令牌的字段名称
* 用于获取新的访问令牌避免频繁登录
*/ */
const val REFRESH_TOKEN_HEADER = "X-Refresh-Token" const val REFRESH_TOKEN_HEADER = "X-Refresh-Token"
/** /**
* Bearer Token前缀用于在请求头中标识Token类型 * Bearer Token前缀用于在请求头中标识Token类型
* 避免与其他类型的令牌混淆 Basic Auth
*/ */
const val BEARER_PREFIX = "Bearer " const val BEARER_PREFIX = "Bearer "
/** /**
* API密钥请求头字段名称用于在请求头中携带API认证标识 * 单一令牌模式下的链路标识
* 用于区分不同认证模式或业务场景的令牌处理逻辑
*/ */
const val API_KEY_CHAIN_ID = "apiKey" const val SINGLE_TOKEN_CHAIN_ID = "singleToken"
/** /**
* 默认的API密钥标识 * 默认的API密钥标识
* 用于未指定具体链路时的默认认证方式
*/ */
const val DEFAULT_CHAIN_ID = "default" const val DEFAULT_CHAIN_ID = "default"
} }