一飞开源
阅读1189

单点登录认证系统,业界领先的企业级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)等.
  • 标准安全策略包括密码策略,访问策略;事后安全审计,对用户全生命周期审计、访问行为记录追溯审计、安全合规审计、安全风险预警。
单点登录(Single Sign On)简称为SSO,用户只需要登录认证中心一次就可以访问所有相互信任的应用系统,无需再次登录。

主要功能:

  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-identitys



身份管理



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


静态资源


shellscript



Window和LINUX启动脚本


sql



数据库MYSQL脚本,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:\JavaIDE\jdk1.8.0_91
set GRADLE_HOME=D:\IDE\gradle-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开源协议

六、源码地址

源码下载


关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章