您的位置 首页 java

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

一、开源项目简介

MaxKey单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是业界领先的企业级 IAM 身份管理和认证产品,支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、 CAS 、SCIM等标准协议,提供简单、标准、安全和开放的用户身份管理(IDM)、身份认证(AM)、 单点登录 ( SSO )、RBAC权限管理和资源管理等。

二、界面展示

MaxKey认证

登录界面

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

主界面

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

MaxKey管理

访问报表

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

用户管理

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

应用管理

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

三、功能概述

业界领先的身份管理和认证产品

MaxKey单点登录认证系统谐音为马克思的钥匙,寓意是最大钥匙,业界领先的企业级IAM身份管理和认证产品,国内开源IAM第一品牌

  • 统一认证和单点登录,简化账号登录过程,保护账号和密码安全,对账号进行统一管理。
  • 提供简单、标准、安全和开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、资源管理和权限管理(RBAC)等.
  • 标准安全策略包括密码策略,访问策略;事后安全审计,对用户全生命周期审计、访问行为记录追溯审计、安全合规审计、安全风险预警。

主要功能:

  1. 所有应用系统共享一个身份认证系统
  2. 所有应用系统能够识别和提取ticket信息

四、技术选型

产品特性

1、标准认证协议:

序号

协议

支持

1.1

OAuth 2.x/OpenID Connect

1.2

SAML 2.0

1.3

JWT

1.4

CAS

1.5

FormBased

1.6

TokenBased(Post/Cookie)

1.7

ExtendApi

1.8

EXT

2、登录支持

序号

登录方式

支持

2.1

动态验证码

字母/数字/算术

2.2

双因素认证

短信/时间令牌/邮件

2.3

短信认证

腾讯云 短信/ 阿里云 短信/网易云信

2.4

时间令牌

登录易/ Google / Microsoft Authenticator/FreeOTP/支持TOTP或者HOTP

2.5

域认证

Kerberos /SPNEGO/AD域

2.6

LDAP

OpenLDAP /ActiveDirectory/标准LDAP服务器

2.7

社交账号

微信 / QQ / 微博 / 钉钉 /Google/ Facebook /其他

2.8

扫码登录

企业微信/钉钉扫码登录

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

  1. 提供标准的认证接口以便于其他应用集成SSO,安全的移动接入,安全的API、第三方认证和互联网认证的整合。
  2. 提供用户生命周期管理,支持SCIM 2协议,基于 Apache Kafka 代理,通过连接器(Connector)实现身份供给同步。
  3. 认证多租户功能,支持集团下多企业独立管理或企业下不同部门数据隔离的,降低运维成本。
  4. 认证中心具有平台无关性、环境多样性,支持Web、手机、移动设备等, 如Apple iOS,Andriod等,将认证能力从B/S到移动应用全面覆盖。
  5. 多种认证机制并存,各应用系统可保留原有认证机制,同时集成认证中心的认证;应用具有高度独立性,不依赖认证中心,又可用使用认证中心的认证,实现单点登录。
  6. 基于 JAVA EE平台, 微服务 架构,采用 Spring 、MySQL、 tomcat Redis 、Apache Kafka等开源技术,扩展性强。
  7. 开源、安全、 自主可控 ,许可证 Apache 2.0 License & MaxKey版权声明。

MaxKey身份管理

身份管理是什么

帐户

计算机处理有关人的数据记录。此类记录包含为其创建和管理帐户的系统所需的技术信息。

(数字)身份

由一个数字主体对其自身提出的一组主张的表现。 确认是你!

您是否曾经被公司雇用,进入组织或刚刚创建了新的 OA 帐户?公司,组织和云实体使用需要您的数据才能正常运行的应用程序:用户名,密码,电子邮件,名字,姓氏等。

这些信息从哪里来?当需要启用更多应用程序时会发生什么?而且,如果您获得晋升并获得了已经可以访问的应用程序的更多权利该怎么办?最重要的是,当您退出或他们轻轻放开您时会发生什么?

简而言之,身份管理在整个“ 身份生命周期”中负责管理身份数据 。

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

MaxKey身份管理架构

基于 Apache Kafka 和MaxKey身份连接器( Connector )的管理架构

单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

连接器Connector

  • ActiveDirectory Connector
  • LDAP Connector
  • JDBC Connector
  • SCIM 2 Connector
  • 企业微信 Connector
  • 钉钉 Connector
  • 飞书 Connector
  • 华为WeLink Connector
  • other coming soon

开发指南

开发工具及相关软件

软件

版本

备注

JDK

1.8 +

JAVA运行及开发工具包

Eclipse -jee

2021-09 +

推荐JAVA开发工具

Gradle

7.2+

代码构建

Tomcat/tomcat-embed

9 +

应用服务器

MySQL

8.0.21 +

数据库服务器

Kafka

2.5.0 +

用户生命周期管理同步中间件

Redis

6 +

高速缓存内存数据库

OpenLDAP

2.2 +

企业目录服务器

程序目录

MaxKey

一级目录

二级目录

三级目录

说明

README.md

关于MaxKey项目

LICENSE

Apache License v2许可证

NOTICE

MaxKey版权声明

ReleaseNotes.txt

GA版本发布记录描述

config

构建方式配置 Jar , Docker ,Standard

maxkey-authentications

登录认证

maxkey-authentication-captcha

登录认证-验证码

maxkey-authentication-core

登录认证-核心功能

maxkey-authentication-otp

登录认证-令牌和一次性口令

maxkey-authentication-social

登录认证-社交账号

maxkey-common

通用基础包和工具类

maxkey-core

基础包

maxkey- IDE ntitys

身份管理

maxkey-identity-rest

REST身份管理接口

maxkey-identity-scim

SCIM2.0身份管理接口

maxkey-synchronizers

身份同步器

maxkey-synchronizer

同步器接口

maxkey-synchronizer-activedirectory

微软 Active Directory同步器

maxkey-synchronizer-feishu

飞书 同步器

maxkey-synchronizer-ldap

标准LDAP同步器

maxkey-synchronizer-dingtalk

钉钉同步器

maxkey-synchronizer-workweixin

企业微信同步器

maxkey-lib

使用jar包

maxkey-persistence

数据库持久化和Kafka同步

maxkey-protocols

认证协议实现

maxkey-protocol-authorize

认证协议及单点注销实现

maxkey-protocol-cas

CAS认证 协议实现

maxkey-protocol-extendapi

扩展API实现

maxkey-protocol-formbased

Formbased实现,桌面认证实现开发浏览器插件实现

maxkey-protocol-jwt

JWT实现

maxkey-protocol- OAuth -2.0

OAuth 2.x,OpenID Connect实现

maxkey-protocol-saml-2.0

SAML 2.0实现

maxkey-protocol-tokenbased

tokenbased实现

maxkey-webs

web服务

maxkey-boot-monitor

基于Spring Boot Admin监控

maxkey-web-maxkey

认证系统

maxkey-web-mgt

管理系统

maxkey-web-resources

静态资源

shell script

Window和 LINUX 启动脚本

sql

数据库MY SQL 脚本,GA版本对应SQL

checkstyle

编码 规范配置

build.gradle

默认工程构建及版本控制

build_cnf.gradle

工程构建配置脚本

gradle.properties

版本参数配置

settings.gradle

项目引入

gradle

gradle的配置

release.bat

标准和Jar构建版本

release_ docker .bat

docker构建版本

setEnvVars.bat

JDK及Gradle路径配置,开发人员配置

release_cnf_docker.bat

构建Docker配置

release_cnf_jar.bat

构建Jar配置

release_cnf_standard.bat

构建Standard配置

eclipsePluginApply.bat

设置IDE

开发环境 应用启动

MaxKey统一认证系统

 maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java  

MaxKey身份安全管理系统

 maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java  

标准构建Release

1.配置 环境变量

 setEnvVars.bat
set JAVA_HOME=D:JavaIDEjdk1.8.0_91
set GRADLE_HOME=D:IDEgradle-7.2  

2.启动构建

 gradlew build -x test或者release.bat  

3.构建结果

构建包路径

 MaxKey/build/maxkey-jars  

依赖包路径

 MaxKey/build/MaxKey-v(version)GA  

Docker构建release

1.Docker 构建配置

 release_cnf_docker.bat  

2.启动构建

 gradlew build jib -x test或者release_docker.bat  

3.构建的结果

 maxkey-web-manage/
maxkey-web-maxkey/  

SpringBoot构建release

1.SpringBoot Jar 构建配置

 release_cnf_jar.bat  

2.启动构建

 gradlew build -x test或者release.bat  

3.构建的结果

 maxkey-webs/maxkey-web-manage/
maxkey-webs/maxkey-web-maxkey/  

问题及解决

问题1

“A cycle was detected in the build path of project: XXX”

解决方法:

Eclipse Menu -> Window -> Preferences… -> Java -> Compiler -> Building -> Building path problems -> Circular dependencies -> 将Error改成Warning

问题2

Access restriction

解决方案:

Eclipse Menu -> Window -> Preferences… -> Java -> Compiler -> Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的规则由默认的Error改为Warning即可。

五、开源协议

使用Apache-2.0开源协议

六、源码地址

私信回复:单点登录认证系统

或访问一飞开源:

文章来源:智云一二三科技

文章标题:单点登录认证系统,业界领先的企业级IAM身份管理和认证产品

文章地址:https://www.zhihuclub.com/201162.shtml

关于作者: 智云科技

热门文章

网站地图