You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Keycloak与APISIX实现X.509客户端证书认证

Apache APISIX + Keycloak X.509客户端证书认证核心解析

APISIX在X.509认证中的核心角色

  • TLS层证书前置校验:作为流量入口网关,APISIX首先在TLS握手阶段接收客户端提交的X.509证书,完成基础合法性校验——包括证书有效期、链完整性、是否由信任CA签发等。这是拦截非法请求的第一道关卡,避免无效流量进入后续认证流程。
  • 身份信息传递与认证触发:校验通过后,APISIX提取证书关键信息(如Subject DN、证书内容),通过自定义请求头(如X-Client-Cert-DN)转发给Keycloak,触发Keycloak的X.509身份映射流程。
  • 令牌转换与下游管控:Keycloak验证证书与用户的绑定关系后,会返回标准JWT令牌或用户身份信息。APISIX可借助现有OIDC插件逻辑,将令牌附加到下游请求中,或直接基于身份信息完成路由级权限校验;同时继续承担限流、熔断等统一流量管控职责。
  • 认证流程适配衔接:APISIX作为中间层,打通了TLS层证书校验与Keycloak身份系统的衔接,无需下游微服务单独处理证书认证逻辑,保持微服务的无侵入性。

与访问令牌认证的核心差异

维度访问令牌认证(OIDC)X.509客户端证书认证
认证触发时机客户端先从Keycloak获取令牌,请求时在应用层携带TLS握手阶段自动触发,无需额外令牌获取步骤
身份载体加密JWT字符串,包含用户声明、权限等信息基于PKI的数字证书,身份信息存储在证书字段中
校验链路APISIX调用Keycloak令牌 introspection 接口校验APISIX先做TLS层证书有效性校验,再由Keycloak完成用户绑定验证
安全性等级应用层认证,令牌存在被截获复用风险TLS层端到端加密,私钥通常存储于安全硬件,泄露风险更低
用户/客户端体验需要处理令牌过期、刷新逻辑证书有效期内自动完成认证,无需额外操作

快速实现流程要点

  • APISIX侧配置:开启mTLS,上传信任的CA根证书,强制客户端提交证书;通过插件(如openid-connect或自定义Lua脚本)提取证书信息并转发至Keycloak。
  • Keycloak侧配置:创建X.509认证器,设置证书与用户的映射规则(如用Subject DN匹配用户属性),启用对应认证流。
  • 下游授权衔接:复用现有OIDC流程的授权逻辑,APISIX将Keycloak返回的令牌转发给下游,或直接通过RBAC插件完成路由权限控制。

内容的提问来源于stack exchange,提问作者ZeroDefect

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:10:28