产品介绍
VanCone Passport 是覆盖企业组织和个人用户全场景的统一身份认证和权限管控服务,集成了通用的 SSO 单点登录和 RBAC 鉴权机制,旨在为用户提供账户注册与登录、授权鉴权等功能。用户在 Passport 平台上注册账号之后,就相当于持有统一的服务通行证,可以登录使用所有集成 Passport 认证的应用服务。各个业务应用无需单独构建登录和鉴权能力,用户在不同应用之间跳转也无需重复登录。
欢迎体验 Passport 服务:
- 生产环境:https://passport.vancone.com/admin
- 测试环境:http://passport.beta.vancone.com/admin (仅限内网访问)

核心特性
统一身份认证
- 支持邮箱注册、密码登录
- 登录需通过滑块验证码,防止自动化攻击
- 邮箱验证码机制,用于找回密码
- 支持 JWT Token 认证,采用 ES256 算法
- 基于 Cookie 和 Header 双重 Token 传递机制
- 连续登录失败超限自动锁定账号
SSO 单点登录
- 用户一次登录,多个应用无缝切换
- 支持同域 Cookie 共享实现单点登录
- Token 采用无状态 JWT,有效期固定为 24 小时,不提供续期机制,过期后需重新登录
RBAC 权限管控
- 基于角色的访问控制(Role-Based Access Control)
- 支持租户级别的多租户隔离
- 精细化的 API 级别权限控制
- 支持账号与群组的权限绑定
管理后台
- 可视化管理界面,操作简便
- 租户管理、账号管理、群组管理、权限管理、应用管理一体化
- 登录历史记录追踪
多账号类型支持
- 个人账号:普通用户账号,用于登录使用应用
- 应用账号:服务账号,用于应用服务之间的 API 调用认证
用户痛点
Passport 重点分析目标用户的需求和痛点,并推出了高效可靠、易于落地推广的解决方案。
普通用户痛点
- 访问不同应用需要登录不同账号
- 多套账号密码不方便记忆,更容易存在泄漏风险
- 跨应用切换时需要重复登录
管理员痛点
- 账号和权限持续维护难度大
- 新员工入职、离职时权限配置繁琐
- 缺乏统一的用户身份管理平台
应用开发者痛点
- 需要为每个应用重复开发登录注册模块,工作量大
- 不同应用之间相互调用,没有统一的授权/鉴权机制
- 安全防护很难面面俱到,容易受到攻击等安全威胁
- 权限管理逻辑复杂,容易出错
应用场景
账号注册和登录
- 注册账号后即可登录,无需邮箱激活
- 使用用户名/邮箱和密码登录,登录前需完成滑块验证码
- Token 认证,支持跨应用免登录
安全验证和防护
- 滑块验证码,用于登录与找回密码
- 邮箱验证码机制,用于找回密码
- JWT Token 签名验证
- API 级别的权限控制
- 登录历史记录追踪
权限分配
- 管理员统一分配权限
- 支持个人权限和群组权限
- 灵活的权限组合策略
应用注册和发布
- 应用开发者注册应用
- 定义应用的 API 接口清单
- 创建应用账号,获取 Access Key
- 关联权限到 API 接口
开发集成和部署
- 提供 Java SDK(Spring Boot)与 Go SDK(Gin)简化集成
- 提供公开 REST API
- 支持本地缓存机制
- 支持同步应用下的 API 与权限配置
系统架构

Passport 平台主要由以下模块组成:
| 模块 | 说明 |
|---|---|
| 管理后台 | Vue 3 + TypeScript 构建,提供可视化的管理界面 |
| 认证服务 | passport-service,处理用户登录、注册、Token 签发与验证等核心功能 |
| 管理服务 | passport-admin,提供租户、账号、群组、权限、应用等管理 API |
| SDK | Java SDK(Spring Boot)与 Go SDK(Gin),简化应用接入认证鉴权功能 |
| 数据存储 | 使用 MySQL 存储业务数据,Redis 缓存验证码与 Token 相关数据 |
账号类型
Passport 支持两种类型的账号:
个人账号
用于真人用户登录系统,具有以下特点:
- 支持邮箱登录
- 需要密码验证
- 可以绑定到多个群组
- 可以分配多个权限
应用账号
用于服务之间的 API 调用认证,具有以下特点:
- 通过 Access Key ID / Secret Access Key 认证
- 关联到具体的应用
- 用于服务间通信,无需人工登录
- 支持创建和管理多个凭证
鉴权模型
Passport 采用 RBAC(基于角色的访问控制)模型,鉴权链路如下:
User(用户)
↓
Group(群组)/ Account(账号)
↓
Permission(权限)
↓
API(接口)
- 用户:最终使用系统的用户
- 群组/账号:用户的集合,可以批量分配权限
- 权限:API 接口的集合,表示一组操作能力
- API:具体的服务接口,是权限控制的原子单位