QuantumNous/new-api

feat(auth): 支持 CAS / JWT 企业统一认证接入

Open

#3,334 opened on Mar 19, 2026

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Go (7,359 forks)batch import
enhancementgood first issue

Repository metrics

Stars
 (33,398 stars)
PR merge metrics
 (Avg merge 3d 5h) (83 merged PRs in 30d)

Description

提交前必读(请勿删除本节)

您当前的 newapi 版本

v0.11.6-patch.1

提交确认

  • 我已确认目前没有类似 issue
  • 我已完整查看过文档 https://docs.newapi.ai/ 和项目 README,已确定现有版本无法满足需求
  • 我未删除此模板中的任何引导内容或小节标题,并会按要求完整填写
  • 我理解项目维护者精力有限,不遵循模板要求的 issue 可能会被无视或直接关闭

功能描述

希望支持 CAS / JWT 方式接入企业统一身份认证。

当前 new-api 已支持 GitHub / Discord / LinuxDO / OIDC / 自定义 OAuth Provider,但对于很多企业内网环境,实际使用的仍然是 CAS(Central Authentication Service)或“由统一认证网关签发 JWT,再由业务系统验签登录”的模式。

这类环境下,现有 OIDC/OAuth 方案并不总是可用:

  1. 认证中心只有 CAS 协议,没有标准 OIDC Discovery
  2. 登录后由上游网关直接回传 JWT / Header,不走 OAuth code exchange
  3. 企业已有统一认证体系,不希望为 new-api 额外再搭一层 OIDC 兼容代理

希望能支持以下任一形式即可:

  1. CAS 登录接入

    • 支持配置 CAS Server 地址
    • 支持 ticket 校验
    • 支持从 CAS 返回的用户属性中映射 username / email / group / role
  2. JWT 直连接入

    • 支持配置 JWKS URL 或公钥
    • 支持验签 JWT 后直接完成登录
    • 支持 claim 映射,例如 sub / preferred_username / email / roles / groups
  3. 反向代理 Header 信任模式(可选)

    • 例如由上游认证网关完成登录后,把用户信息通过 Header 传给 new-api
    • new-api 在显式开启配置的前提下信任该 Header,并完成用户识别 / 自动注册 / 用户组合并

我理解这三种方式复杂度不同。如果短期不考虑完整 CAS 流程,哪怕先支持“JWT 验签登录”或“可信反代 Header 登录”也会很有价值。

如果需要,我很乐意按维护者偏好的方向贡献代码实现。

应用场景

  1. 企业内网统一认证

    • 现有系统已经使用 CAS / SSO / JWT 网关,接入 new-api 时希望复用同一套认证体系
  2. 减少用户重复注册

    • 员工通过统一身份登录后,自动进入 new-api,不再额外维护一套本地账号密码
  3. 用户组 / 权限自动同步

    • 希望根据外部身份系统返回的部门、角色、组信息映射到 new-api 的用户组或管理员角色
  4. 便于自建企业版本落地

    • 对很多企业用户来说,统一认证接入是基础能力,尤其是在内网、校园网、政企环境中

如果维护者认可这个方向,我愿意继续跟进:

  • 先补一个最小可用方案设计
  • 再按讨论结果提 PR

Contributor guide