2026 年重启 BrowserID:开发者为定制应用打造 WKID 身份服务器
2026 年重启 BrowserID我正在构建 WKIDWakamoleguy 的身份服务器这是一个 [BrowserID](https://en.wikipedia.org/wiki/Mozilla_Persona) 风格的身份提供商IdP用于我为自己、朋友和家人开发的定制应用程序。下面来谈谈我为何要重拾这个已停用 10 年的协议。大语言模型LLMs让开发者将想法转化为实用应用变得前所未有的容易。较低的入门门槛使得专为个人使用或供少数亲朋好友使用的小型定制项目如雨后春笋般涌现。这类软件从定义上来说是自由的因为用户即开发者可以根据自己的意愿随意修改。我自己也参与过一些这样的项目但用户管理一直是我头疼的问题。即便一个应用是为满足我自己的需求而开发我也常常想展示我正在做的东西所以 [Tailnets](https://tailscale.com/docs/concepts/tailnet) 和 [forward-auth 网关](https://www.authelia.com/) 并不适用。我不想为每个服务都重新开发用户管理功能同时也不希望我那美国女孩玩偶鞋收藏伴侣应用依赖谷歌、Auth0 或其他可能会暂停我账户的公司的价值观。事实证明BrowserID 非常适合这种情况它基于电子邮件域名进行联合认证而我可以控制自己的域名。这意味着在我的认证流程中无需他人参与。它默认具有隐私性和抗审查性。身份提供商不会看到其用户登录的网站。它使用电子邮件地址作为标识符因此我无需单独收集电子邮件地址并将其映射到密码密钥、OIDC 标识符等。对于依赖方来说实现起来非常轻量级。无需像在 [Authentik](https://goauthentik.io/) 这样的集中式自托管服务器上那样为每个应用在身份提供商处进行注册。对于不熟悉的人来说BrowserID 的流程与 OAuth 流程很相似网站显示“登录”按钮启动 BrowserID 流程。BrowserID 提示用户输入电子邮件地址。根据该地址用户会被引导至其身份提供商进行登录。身份提供商向 BrowserID 对话框提供用户身份的加密签名断言BrowserID 对话框对其进行签名并转发给原始网站。网站接收经过验证的电子邮件地址检查签名并创建会话。如果你对 BrowserID 非常熟悉可能会想知道 WKID 是否依赖第三方 cookie而如今浏览器对第三方 cookie 的屏蔽越来越严格。为避免这个问题我确实需要对规范进行一些调整但我已经有了应对方案。BrowserID 在 2016 年失败了但 WKID 不会Mozilla 在推广 BrowserID 时遇到了鸡和蛋的问题。除非有足够多的依赖方使用否则身份提供商没有动力加入联盟而依赖方在用户的身份提供商不支持的情况下也不想使用它。Mozilla 试图通过托管 persona.org 作为备用身份提供商来解决这个问题该提供商可以验证任何电子邮件地址但最终仍未能获得足够的发展动力。我不会遇到这个问题因为我改变了目标。我并不想在全球身份提供商市场中获胜。WKID 本身就是为我自己使用而开发的定制应用。如果只有我自己的几个业余服务使用它而且只供一个用户使用那也算是成功。如果其他人觉得它有用并将其用于他们的项目我们还能额外实现联合认证。出于这个原因并且由于实际发送电子邮件会带来一系列问题如可送达性、滥用、声誉等我根本不打算提供备用身份提供商功能这意味着除非用户的电子邮件域名提供商支持 WKID否则他们将无法使用我的应用。而且像 gmail.com、outlook.com、yahoo.com、icloud.com 等大型提供商永远不会支持。对于任何企业来说这都是不切实际的假设但请记住这些都是定制应用。我的用户是我和我的家人我们使用的是我域名下的电子邮件。WKID 当前的进展WKID 仍在开发中还不适合分享。端到端的流程已经可以正常运行并经过测试但还需要进行一些样式优化、文档清理和简化自托管说明。我从事这项工作的主要优势在于自从事依赖电子邮件、XMPP 和 SIP 地址均遵循 userdomain 格式的统一通信应用开发以来我就对 BrowserID 情有独钟此外我还有一二十年构建 Web SaaS 的经验。如果你在身份验证服务方面有经验并能提供建议或者想在自己的项目中试用 WKID请 我。干杯在 [Twitter](https://twitter.com/share?urlhttps://www.wakamoleguy.com/p/reviving-browserid-in-2026textReviving%20BrowserID%20in%202026viawakamoleguy) 或 [Mastodon](https://toot.kytta.dev/?textReviving%20BrowserID%20in%202026%20https://www.wakamoleguy.com/p/reviving-browserid-in-2026) 上分享本文。关于我大家好我叫 Will Mitchell是一名软件工程师和工程经理早在我还不能开车的时候就开始从事 Web 开发。我曾在从种子轮初创公司到 Dropbox 和 Asana 等各种规模的公司发布过软件。我住在新泽西州在网上的昵称是 wakamoleguy。找到 /wakamoleguy[GitHub](//github.com/wakamoleguy)[Twitter](//twitter.com/wakamoleguy)[Mastodon](//mastodon.social/wakamoleguy)[RSS](/feed.xml)