Skip to content

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

@MisonL

Description

@MisonL

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

您当前的 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions