On-Security
是一款集身份认证(Identity Authentication)、访问管理(Access Management)和SSO单点登录(Single Sign On)的安全服务开源框架,支持基于角色(RBAC)、基于属性(ABAC)来灵活控制资源的访问权限,框架基于Spring Security
进行编写,支持OpenID Connect1.0
、OAuth2.1
、SAML2.0
等协议。
- 授权方式(Grant Type)
- 授权码(Authorization Code)
- 用户同意授权(User Consent)
- 客户端认证(Client Credentials)
- 刷新令牌(Refresh Token)
- 用户名密码(Username Password)
- 授权码(Authorization Code)
- 令牌格式(Token Format)
- JWT
- Opaque
- 客户端认证方式(Client Authentication)
-
client_secret_basic
-
client_secret_post
-
client_secret_jwt
-
private_key_jwt
-
none
(public clients)
-
- 支持外部身份供应商(Identity Provider)
- Gitee
- GitHub
- ...
- 应用服务依赖(Application Service)
- 资源访问控制(Resource Access Control)
- 基于角色(RBAC)
- 基于属性(ABAC)
- 支持SAML2.0认证协议
- 支持CSA协议
- 支持单点登录(Single Sign On)
- 支持使用外部用户
- 支持用户组织架构概念
- 提供OpenApi
- 提供UI管理端
- 提供会话管理(Session Management)
- 数据分析
- 提供用户行为分析
- 提供用户登录分布分析
- ...
- ...
On-Security
发布的每个版本都已上传到Maven Central
,当然如果您想要使用快照版本(Snapshot Version
)也可以通过Maven Central
中找到,快照版本会通过GitHub Actions
自动发布。
Maven方式:
<dependencies>
<!--添加认证服务器依赖-->
<dependency>
<groupId>org.minbox.framework</groupId>
<artifactId>on-security-authorization-server</artifactId>
</dependency>
//...
</dependencies>
<!--定义OnSecurity的统一版本依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.minbox.framework</groupId>
<artifactId>on-security-bom</artifactId>
<version>${on-security.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
${on-security.version}
是一个属性定义,可以再properties
内指定版本号,也可以替换该占位符,最新版本
on-security-bom
依赖请访问OnSecurity Versions查看。
我们提供了使用示例源代码,可以访问on-security-samples查看,也可以通过下面命令直接将源码clone到本地:
git clone https://github.com/On-Security/on-security-samples.git
注意:
如果您在使用过程中遇到了问题,可以通过提交issues的方式来寻求帮助,作者以及相关贡献者看到问题会做出解答。
On-Security
是在 GPL-3.0 许可下发布的开源软件。