CaelLabID 开发者守则
写在前面
CaelLabID 是一个面向青少年编程社区的开放平台。我们相信好的技术生态需要大家一起维护。这份守则不是冰冷的限制条款,而是我们对开发者的期望和约定——希望大家一起把生态做好。
应用注册与管理
- 注册应用时,请如实填写应用名称、描述和图标,不要冒充其他应用或误导用户;
- 为你的应用选择合适的
scope,只申请你真正需要的权限; - 如果应用不再使用,建议在 仪表盘 中禁用或删除,避免留下不必要的授权记录。
客户端凭证安全
client_secret是你的应用身份凭证,请妥善保管,不要提交到公开仓库或写在前端代码中;- 如果
client_secret可能已经泄露,请立即在仪表盘中重置; - 建议在服务端完成 Token 交换,不要在客户端直接暴露
client_secret。
OAuth 流程规范
接入 CaelLabID 时,请遵循以下规范:
授权请求
- 始终传递
state参数,用于防止 CSRF 攻击; redirect_uri必须与你注册时填写的回调地址完全一致(包括协议、域名、路径);- 不要在
redirect_uri中使用通配符或动态拼接。
Token 使用
- Token 有效期有限(Access Token 1 小时,Refresh Token 30 天),请及时刷新;
- 不要在前端代码中存储 Token,建议在服务端管理;
- 调用
/api/userinfo等接口时,使用Authorization: BearerHeader 方式传递 Token; - 如果需要撤销 Token,调用
/oauth/revoke端点。
Refresh Token 轮换
每次使用 Refresh Token 刷新时,旧的 Refresh Token 会自动失效。请在你的应用中及时保存新的 Refresh Token。
用户信息保护
- 获取到的用户信息(如
sub、username、email等)仅用于你声明的用途; - 不要将从 CaelLabID 获取的用户信息用于与授权目的无关的用途;
- 不要将用户信息出售、出租或转让给第三方;
- 不同应用之间的用户标识(
subject_id)是独立的,不要尝试通过技术手段关联同一用户在不同应用中的身份。
内容与行为规范
发布在 CaelLabID 开放平台上的应用和内容,请遵守以下约定:
- 不要发布违反所在地区法律法规的应用;
- 不要发布含有恶意代码、病毒、间谍软件等危害用户安全的内容;
- 不要利用 CaelLabID 的登录功能从事钓鱼、欺诈或其他恶意活动;
- 不要滥用 API 频率限制,不要对平台发起自动化攻击或大规模请求。
频率限制
请注意各端点的频率限制:
| 端点 | 限制 |
|---|---|
/oauth/token | 30 次/分钟(IP) |
/api/userinfo | 60 次/分钟(IP) |
/api/token-info | 30 次/分钟(IP) |
超限会返回 HTTP 429 响应,响应头中包含 Retry-After 字段。请在你的应用中做好限流处理。
社区精神
作为青少年编程社区的一员,我们鼓励:
- 互相帮助:在开发过程中遇到问题,欢迎在 虚舟实验室论坛 或 GitHub 上交流;
- 分享经验:如果你有好的接入经验或最佳实践,欢迎分享给其他开发者;
- 反馈问题:发现平台的 Bug 或有改进建议,请通过邮件或 Issue 告诉我们;
- 开源贡献:如果你基于 CaelLabID 开发了有趣的项目,欢迎开源分享。
违约处理
如果你的开发行为违反了本守则或 服务协议,我们可能会:
- 先通过邮件提醒你,希望你能调整;
- 如果情况严重或多次提醒未改善,可能会暂时限制你的应用访问权限;
- 极端情况下,可能会终止你的账号。
我们不喜欢这样做,但如果为了保护用户安全,不得不这么做时也会果断行动。
联系方式
如果你对本守则有任何疑问或建议:
虚舟实验室 CaelLabID 2026 年 6 月 29 日