认证协议 是什么

一句话总结

认证协议是 IDP 和 SP 之间的”通信语言”——定义了”怎么证明你是你”的标准流程。SSO 里最主流的是 OIDC,它跑在 OAuth 2.0 之上。


🤔 为什么会有它 / 解决了什么问题

IDP 和 SP 是不同团队甚至不同公司开发的系统。没有标准协议的话,每个 IDP 和每个 SP 都要一对一约定怎么传数据——格式、加密方式、超时规则全不一样。这是个 N×M 的集成噩梦。

标准协议就是”大家都说同一种语言”。一个支持 OIDC 的 SP,可以对接任何支持 OIDC 的 IDP,不需要定制开发。


🔍 具体原理 / 运作逻辑

主流认证协议有三代:

协议年代格式状态
SAML2005XML企业级老将,Okta/ADFS 在用
OAuth 2.02012JSON授权框架,不是认证协议
OIDC2014JSON (JWT)跑在 OAuth 2.0 上的认证层——我们用的就是这个

OIDC 的核心流程就是 Authorization Code Flow:浏览器跳转 → 登录 → 拿临时码 → 换令牌。用到的令牌是 ID Token(身份证)和 Access Token(房卡),安全加固靠 PKCE(防截获)。


🧭 什么情况下会用到 / 什么场景会遇到它

  • 你在配置 Grafana 的 SSO 时,要填 auth_urltoken_url——这正是在告诉它”用 OIDC 协议跟 Frappe 说话”
  • 任何 SSO 集成的第一步都是确认”双方协议是否兼容”

🔗 关联 / 经常一起出现的概念

  • SSO 概述:协议是 SSO 三要素之一(IDP + SP + 协议)
  • OIDC:目前最主流的认证协议,为什么它是协议而不是具体实现
  • OAuth 2.0:OIDC 的底层,负责授权框架

📎 记忆锚点

协议 = 国际通用护照标准。不管你是哪国人(哪个 IDP),只要护照按标准格式签发,各国海关(各个 SP)都认。


📝 更新日志

日期改动原因
2026-07-09首次创建Frappe SSO/OIDC 集成准备