2012 年,为 OAuth 2.0 执笔的人辞职了。他的理由读起来像一份预言。
2012 年 7 月,OAuth 2.0 规范的编辑辞职了。Eran Hammer 执笔多年:在 IETF,编辑是那个撰写规范性文本、并在工作组争论时对设计做出裁定的人,不是校对员。在此之前,他编辑过已发布的 OAuth 1.0 标准。他把自己的名字从 2.0 上撤下,转身走人,并发表了一篇流传甚广的文章,标题是「OAuth 2.0 and the Road to Hell」。
他的不满不是学术层面的。他写道,这份协议已经被掏空成「一张蓝图」,每家厂商都会把它裁剪成自家互不兼容的产品。他把这叫作「the enterprise way」,也就是「WS-* 的路子」。而且他把话说得很直白:2.0「为兜售咨询服务和集成方案开辟了一整片全新的疆域」。三个月后,RFC 6749 发布,署名换成了 Dick Hardt。
十四年过去,把你最大的客户要求的那套企业登录打开,价格大约是每条连接每月 125 美元,或者藏在一个叫「Enterprise」的档位后面,或者藏在一个「联系销售」按钮后面,而那个按钮会给你本来就已经延误的期限再加上三周。这套东西的轮廓,Hammer 在 2012 年就看见了,而且是在决定它的那个房间里看见的。
所以值得把整件事从头捋一遍:这些标准是谁写的,他们以为自己在建什么,以及它是怎么变成账单上的一行的。由此形成的护城河是真的。它也是由两种不同材料筑成的,而其中只有一种还立得住。
协议早在定价之前就已经写完
到 2015 年,标准化工作基本已经做完。SAML 2.0 于 2005 年 3 月成为 OASIS 标准,也就是说它比 iPhone 还早。OAuth 2.0 于 2012 年以 RFC 6749 发布。OpenID Connect 在 2014 年在其之上搭起了身份层。SCIM,也就是在各系统之间开通和注销用户的那套协议,2015 年 9 月推出 2.0 修订版(RFC 7642 至 7644)。构成「企业级认证」的这四块,早在十多年前就已完成规范、可互操作、并且可以免费实现。
从那以后,它们没有发生任何实质性变化。今天签发的一份 SAML 断言,和 2008 年签发的看起来一模一样。这就排除了收取溢价的惯常理由:新颖性。企业级单点登录并不是一项需要持续投入巨资的前沿功能;对供应商来说,处理一次通过 SAML 到达的登录,并不比处理一次密码登录多花一分钱。它是已经稳定下来的基础设施。于是问题来了:如果价格不是来自工程投入,那它来自哪里。
写下这些标准的工作组不是销售团队
先看是谁写了这些规范,因为这能解释很多事。SAML 不是从一场定价会议里冒出来的。它出自 OASIS 的一个技术委员会,而这个小组的创始主席是 Eve Maler,她当时是 Sun Microsystems 的技术总监,多年从事那些让跨公司登录成为可能的标记与联合标准工作。产出是一份任何人都可以免费实现的公开文档。
那个年代的气氛是开放,不是圈地。2005 年 8 月,在 O'Reilly 的 OSCON 大会上,Sxip Identity 的 Dick Hardt 做了一场节奏极快的主题演讲,题为「Identity 2.0」,此后被反复观看。它主张的是这样一个网络:你的身份归你所有、可以随身携带,在站点之间流动,而不是被锁在每一家的目录里。一年之后,OAuth 也是这样开始的。当时正在做 Twitter API 的 Blaine Cook 想要一种办法,让一个应用能代表你去另一个应用做事,同时不必让用户交出密码;他找不到任何开放标准,于是在 2007 年初和 Chris Messina、David Recordon 以及另外几个人坐下来,自己写了一个。第一份 OAuth 规范当年就发布了。那个小组里没有人想建一座收费站。他们只是想让网络不要再问人们要密码。
Hammer 真正警告的是什么
后来标准长大了,房间里的人也换了。OAuth 2.0 想把第一版做得更通用,工作组里坐进了越来越大的利益方。Hammer 在离开时写道,与 1.0 相比,结果变得「更复杂、互操作性更差、更没用、更不完整,而且最重要的是,更不安全」。他抓来做对比的那个东西,上一个十年的 WS-* 技术栈,正是这个行业里最清楚的一个例子:一份开放规范如何变成一门做集成生意的市场。
隔着十年再读一遍,这就是一份预言。那个最终按连接数计费的东西,早在 2012 年就已经在被后来负责计费的那批人塑形。OpenID Connect 在 2014 年把身份重新放回 OAuth 2.0 之上的干净地基,由野村综合研究所的 Nat Sakimura 与 John Bradley、Mike Jones 共同起草,这确实是好活儿,整个行业至今还跑在上面。但看看它的作者们坐在哪里:Bradley 在 Ping Identity,Jones 在微软。规范本身仍然开放、仍可自由实现。而写规范的人,越来越多地在为将来卖这套东西的公司工作。
写标准的那批人,后来去卖它了
商业层不是从标准世界之外闯进来的。它就是从标准世界里直接长出来的,而且常常经由同一双手。Eve Maler 在 Sun 主持了产出 SAML 的那个小组,2014 年以创新副总裁的身份加入 ForgeRock,后来出任其首席技术官。ForgeRock 本身就建立在 Sun 以 OpenSSO 之名开源的那套身份栈上,2023 年被并入 Ping Identity。Ping 成立于 2002 年,早到足以参与写就那本联合身份的操作手册,然后卖了二十年。这里面没有任何见不得人的东西。要点更窄、也更古怪:开放规范和有标价的产品,从来就不是两个分开的世界。写下二者的是同一批专业能力。
云一代继承了这个模式,定价的本能也一并被带了过来。Okta 由曾在 Salesforce 主管工程的 Todd McKinnon 与 Frederic Kerrest 于 2009 年创立;2017 年上市,2021 年以 65 亿美元的股票收购 Auth0。Auth0 是对开发者友好的那一家,2013 年由两位阿根廷工程师 Eugenio Pace 和 Matías Woloski 创办,他们在做咨询时相识,想把「给应用加上登录」缩减到几次 API 调用。一家整套说辞都围绕开发者便利的公司,居然还值六十五亿美元,这就是那个破绽:谁拥有登录框,谁就拥有一条其他所有功能都必须经过的路。最近这一波干脆在营销里把话挑明了。WorkOS 由 Michael Grinich 于 2019 年创立,卖的正是他所说的跨越「enterprise chasm」:让一个产品变得「enterprise-ready」,靠的就是提供那些会被计费的部件,也就是单点登录、目录同步、审计日志。单点登录就是那块企业级的部件。钱在单点登录上。所以贴价签的就是单点登录。
为什么价格盯的是你的期限,而不是代码
Rob Chahin 注意到了这个套路,2019 年在 sso.tax 上开了一份公开清单,叫「SSO Wall of Shame」,记录各家软件公司为打开 SAML 收多少钱。有些加价一眼看去就荒唐:基础套餐一旦加上 SSO,价格立刻翻上好几倍。这份清单很长,因为这套策略确实有效。
它有效,是因为买家需要这个功能的时机。没有人会在某个悠闲的下午去挑选 SSO。你需要它,是在某个大客户的安全团队把它列为签约条件的那一刻,或者是在你自己的 SOC 2 审计师问你如何管控访问的那一周。你是在期限的压力下需要它,有一笔生意或一张证书悬着,而且你现在就要。那是买家一生中对价格最不敏感的时刻,而整套定价就是围着这个时刻搭起来的。溢价从来不是按实现 SAML 的边际成本校准的,那点成本约等于零。它是按你终于需要它的那一天手里还剩多少筹码校准的。
这才是人们所说的 SSO 税的真实形状。它不是给一项功能定价。它是给一个期限定价。
这道护城河究竟由什么筑成
那么这个位置有多难攻?老牌厂商守着的护城河是真的,但它由两种不同的材料筑成,而这两种并不一样结实。
第一种是复杂度。SAML 老归老,但要把它实现好并不简单。签名校验、XML 规范化、加密断言、会轮换的元数据,再加上每家身份提供商各行其是的一长串怪癖:把这些全都做对、做安全,历来是几周的专家工作量,做错了则是安全漏洞的富矿。SCIM 还会再添一片自己的攻击面。做一次,是真金白银的投入。要面对客户可能带来的每一家 IdP 都做出来,还要稳定地运营下去,那是一条足以把整家公司停进去的护城河。
第二种材料是信任。企业的安全团队必须接受你的身份层,而这意味着 SOC 2、渗透测试、过往记录、一家五年后还在的公司,以及联合登录出问题时凌晨两点能打通的人。再聪明的代码也抄不了这条近路。它只能慢慢挣得,而且是护城河里明显更难的那一半。
二十年来,这两半互相加固,定价也把它们当成一个不可分割的整体来对待。它们不是一个整体。
护城河被 AI 抽干的那一半
变化在这里。那道护城河里的复杂度这一半,说到底是知识和人力的问题:协议规范写得清楚、文档也充足,但要正确地把它们接起来,需要稀缺而昂贵的专业能力和大量工时。而这恰恰是 AI 编程助手擅长的那类问题。一个已经定型、有二十年历史、公开参考实现遍地都是的标准,对它们来说几乎是最理想的情形。过去需要一位身份专家干一个月的活,越来越多地变成一位称职的工程师加一个好用的助手干一周。
但要看清楚它侵蚀了什么、没有侵蚀什么。它完全没有动到信任那一半。AI 不会顺手给你一张 SOC 2、一份安全声誉,或者一套值班轮岗;如果说有什么影响,机器生成的认证代码大量涌现,只会让一个经过审查、久经实战的供应商更有价值,而不是更没价值。可是对复杂度那一半,它抡起的是电锯。这一点很重要,因为定价一直悄悄地同时倚靠着这两半。当实现 SAML 不再是一道护城河,而变成一个周末就能干完的活,「仅限企业版」就不再是在说什么东西难做,而是在说厂商选择了对什么收费。能力上的差距正在缩小,速度比价目表愿意承认的要快。
一支小团队把被征税的功能白送出去
在这场争论里,我们自己就是一个数据点。Authagonal 是一支小团队,而单点登录、SAML 和 SCIM 并不是我们的增售项目;它们就放在免费档位上,连接数不限,最多支持 250 个月活用户,不需要绑卡。付费套餐从每月 29 美元起,而且每一档带的都是同一套功能。把它和市场上同样能力的现行价码放在一起看:WorkOS 的单点登录按每条连接每月约 125 美元计费,SCIM 再收 125 美元;Clerk 给你一条连接,之后每条大约 75 美元;Auth0 免费附带一条连接、覆盖到 25,000 个用户,然后把生产环境的单点登录引导到价格更高的商业产品线上。我们更便宜,不是因为我们找到了什么窍门。我们更便宜,是因为提供这项功能的成本几乎为零,而我们不愿意把它当成稀缺品来定价。
这一切都不意味着老牌厂商就要垮了。他们护城河里信任的那一半是真的,而且他们花了二十年来筑它。但「企业级认证之所以贵是因为它难」这个说法,如今越来越难板着脸讲下去,偏偏就在让这件事变简单的工具人人可得的时候。想看看不再交这笔税之后这些功能值多少钱,我们的定价把每一项都放在了同一个套餐里,而SSO 税计算器会按你的实际配置,把你和那些仍在计费的厂商算一算。