CP OAuth - 告别繁琐,一键接入主流 OJ 账号体系

· · 科技·工程

GenAI 披露: 本文使用 Gemini 3.1 Pro 润色。

现状

想要验证一个用户是否真的拥有某个 OJ 账号,目前的做法通常是写一个爬虫程序,去检查用户个人简介里是否填了指定的验证码,而且如果要支持多平台。每个平台都需要写一个爬虫,这成了许多开发者常常面临的头疼问题。

对于用户而言,这种体验同样非常坏。每次都要折腾一次,去各个平台修改个人简介之类的杂七杂八的操作。这种支离破碎的体验不仅繁琐,更在无形中消磨了大家的使用热情。

统一的身份认证

CP OAuth 的核心逻辑非常清晰:将复杂的检查工作交给平台,将统一的身份提供给各种工具。

通过汇总多个平台的账号,用户只需完成一次性的绑定,我们就会为你生成一个全网唯一的身份名片。无论你在洛谷、Codeforces 还是 AtCoder 的账号名叫什么,开发者都能瞬间确认这些账号属于同一个人。

这种信任实现了无缝的传递。对用户来说,一旦绑定成功,未来使用任何支持这个系统的工具,都只需点击“授权”即可一键同步全网账号。对开发者而言,这意味着可以直接获取经过官方验证的平台用户编号和名字,彻底告别手动比对和不稳定的抓取工具。

:::info[OAuth 是什么]{open} OAuth 是一种无需得知你的密码便可以通过特定协议在经过你本人同意后获取到受限制的平台信息的方法。 :::

功能亮点

在技术实现上,CP OAuth 完全采用了成熟的行业标准授权方式,接入流程与常见的微信或 QQ 快捷登录一样规范,开发者可以直接使用通用的 OAuth 2.0 协议 SDK。在数据层面,它实现了高度的整合,能一次性获取用户在全网主流刷题平台的绑定状态。此外,这种安全的验证方式确保了极高的隐私保护,我们绝对不触碰你任何平台的真实密码,仅仅作为一个身份确认的转接站。

未来企划

除了身份认证,我们还在积极推进一项“统一数据接口”计划。该计划旨在将各个平台复杂的数据获取方式统一起来。未来,开发者可以用同一种通用的数据格式,轻松获取不同平台的题目信息、代码提交记录以及比赛积分变化,再也无需为了迎合每个平台去单独编写繁琐的转换代码。

⚠️ 参与公测

目前 CP OAuth 仍处于早期的公开测试阶段。为了打造更好用的系统,未来可能会对一些数据接口做较大的调整。我们热忱欢迎各位开发爱好者加入社区,参与到早期的测试中来。你可以通过加入交流群(1017248143)与我们互动,或者访问项目 GitHub 主页(Ark-Aak/cp-oauth)查看源码。欢迎前往体验地址 auth.luogu.me 亲自试用。

洛谷保存站官方 出品