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

Kratos社交登录:如何使用带自签名证书的OIDC提供商?

为Ory Kratos添加自定义可信CA证书对接OIDC提供商

你遇到的错误信息:

"reason": "Unable to initialize OpenID Connect Provider: Get "https://my-custom-oidc-provider/.well-known/openid-configuration": x509: certificate signed by unknown authority"

根据Kratos的部署方式,有以下几种实用解决办法:

自部署Kratos场景

方法1:将CA证书加入系统信任列表

运行Kratos容器时,把自定义CA证书挂载到容器的系统证书目录,再更新信任列表:

docker run -v /本地路径/自定义CA证书.crt:/usr/local/share/ca-certificates/custom-ca.crt oryd/kratos:latest sh -c "update-ca-certificates && kratos serve"

这种方式让Kratos使用的系统HTTP客户端自动信任该CA签发的所有证书,适合多个依赖内部证书的服务场景。

方法2:针对OIDC提供商单独配置CA证书

在Kratos的配置文件(如kratos.yml)中,给目标OIDC提供商添加tls_ca_path字段,指向CA证书路径:

oidc:
  providers:
    - id: custom-oidc-provider
      issuer_url: https://my-custom-oidc-provider/
      tls_ca_path: /容器内路径/自定义CA证书.crt
      # 补充其他必填配置:client_id、client_secret等

需通过挂载卷让容器能访问到该证书文件,这种方式更精准,仅对指定OIDC提供商生效。

Ory托管的Kratos(Ory Network)场景

目前Ory Network不支持直接上传自定义CA证书,可选择以下方案:

  • 部署反向代理:在Kratos和内部OIDC提供商之间加一层反向代理,让代理信任自定义CA,Kratos对接代理的HTTPS端点(代理使用公共可信证书)。
  • 更换OIDC提供商证书:将OIDC提供商的证书替换为公共可信CA签发的,这是生产环境最稳妥的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:45:25