HiAuth是什么?
HiAuth是一个基于OAuth2.0协议的认证授权系统,通过集成HiAuth系统可以快速的开启应用的认证和授权功能。HiAuth支持SaaS模式、Docker私有化部署模式、源码编译安装模式。而且完全免费,完全开源。
想尝试一下?跳到 快速开始。
功能
1. 登录认证
基于OAuth2.0
授权协议,允许第三方应用在用户授权下访问其资源,而无需共享用户凭证。
- 核心流程:
- 授权码模式:适用于Web应用,通过授权码交换访问令牌(最安全)。
- 隐式模式:适用于单页应用(SPA),直接返回访问令牌(无刷新令牌)。
- 密码模式:用户直接提供账号密码给客户端(仅信任场景使用)。
- 客户端凭证模式:应用直接以自身身份获取令牌(用于服务间通信)。
- 令牌管理:
- 访问令牌(Access Token)用于资源访问,有效期较短。
- 刷新令牌(Refresh Token)用于获取新访问令牌,需安全存储。
- 安全性:
- 强制HTTPS传输,防止令牌泄露。
- 令牌绑定(Token Binding)防止中间人攻击。
2. 访问授权
访问授权(Authorization
)决定用户/应用能否执行特定操作或访问资源。基于RBAC
(基于角色的访问控制),通过角色分配权限(如管理员、普通用户)。
3. 应用管理
管理第三方或内部应用的接入与生命周期。
- 核心功能:
- 应用注册:分配唯一
ClientID
/ClientSecret
,定义权限范围Scopes
。 - 密钥轮换:定期更新
ClientSecret
,防止泄露风险。 - 权限控制:限制应用可访问的API或数据范围。
- 应用注册:分配唯一
- 安全审计:
- 记录应用行为日志(如API调用频率)。
- 审核应用权限申请,确保最小权限原则。
4. 组织管理
管理企业或团队的层级结构与成员关系。
- 功能:
- 多层级架构:支持部门、团队、项目组等嵌套结构。
- 多租户支持:隔离不同组织的数据与权限(如SaaS场景)。
- 管理员分配:设置组织管理员,管理成员与权限。
5. 权限管理
定义和管理用户或角色可执行的操作。
- 核心机制:
- 权限粒度:支持API级、功能级或数据字段级控制。
- 权限组:将权限打包为模板(如“财务审批组”)。
- 权限继承与覆盖:子角色继承父角色权限,可局部调整。
- 审计与合规:
- 权限变更日志:记录谁在何时修改了权限。
- 定期审查权限分配,避免冗余或过度授权。
6. 用户管理
管理用户身份、认证与生命周期。
- 核心功能:
- 身份存储:支持本地数据库。
- 生命周期管理:用户注册、禁用、删除及资料更新。
- 认证增强:多因素认证(MFA)、单点登录(SSO)。