← 中文资源

简体中文版本

自动刷新 SAML 元数据

保存身份提供方元数据,在证书过期前完成轮换,并同时用当前与下一个密钥校验断言签名。

阅读英文原文

概述

IdP 轮换签名证书时,若服务提供方仍只信任旧密钥,所有登录会同时失败。定期刷新元数据并在重叠窗口内同时信任新旧证书,可把一次潜在的全面故障变为平滑过渡。

关键步骤

  1. 获取并保存 IdP 元数据及其签名证书。
  2. 按计划并在证书过期前刷新元数据。
  3. 在重叠窗口内同时信任当前与下一个证书。
  4. 校验每个断言签名,拒绝未签名或无效断言。

验证

  • 证书轮换期间登录不受影响。
  • 未签名断言无法建立会话。
  • 元数据抓取失败时仍保留上次可用密钥。
  • 过期证书会在失效前被替换。

注意事项

  • 元数据刷新依赖 IdP 提供稳定且签名的元数据端点。
  • 重叠窗口内同时信任两个密钥,按设计会短暂扩大有效签名者集合。

适用范围

本条目围绕「自动刷新 SAML 元数据」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

xmllint --xpath '//*[local-name()="X509Certificate"]/text()' idp-metadata.xml
# trust current + next cert during the overlap window