开发指南
开发工具及相关软件
软件 | 版本 | 备注 |
---|---|---|
JDK | 1.8 + | JAVA运行及开发工具包 |
Node.js | v 16.15.0 LTS + | Node.js开发工具包 |
eclipse-jee | 2022-09 + | 推荐JAVA开发工具 |
Visual Studio Code | Version 1.73.1 + | 推荐前端开发工具 |
MySQL | 8.0.21 + | 数据库服务器 |
Gradle | 7.5+ | 代码构建 |
Tomcat/tomcat-embed | 9 + | 应用服务器(内置) |
Kafka | 2.5.0 + | 用户生命周期管理同步消息中间件(可选) |
RocketMQ | 4.9.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-provider | 登录认证-认证服务 | |||
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 | 数据库持久化和实时数据同步 | |||
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-web-frontend | web前端 | |||
maxkey-web-app | 认证服务前端 | |||
maxkey-web-mgt-app | 管理服务前端 | |||
maxkey-webs | web服务 | |||
maxkey-web-maxkey | 认证系统 | |||
maxkey-web-mgt | 管理系统 | |||
maxkey-gataway | 基于Spring Cloud套件的网关服务 | |||
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配置 |
开发环 境启动
1)MaxKey统一认证系统
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java
2)MaxKey身份安全管理系统
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java
3)MaxKey统一认证前端
maxkey-web-frontend/maxkey-web-app
yarn start
4)MaxKey身份安全管理前端
maxkey-web-frontend/maxkey-web-mgt-app
yarn start
项目构建
标准构建
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构建
1.Docker 构建配置
release_cnf_docker.bat
2.启动构建
gradlew build jib -x test或者release_docker.bat
3.构建的结果
maxkey-web-manage/
maxkey-web-maxkey/
SpringBoot构建
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/
前端构建Build
1)MaxKey统一认证前端
maxkey-web-frontend/maxkey-web-app
ng build --prod --base-href /maxkey/
2)MaxKey身份安全管理前端
maxkey-web-frontend/maxkey-web-mgt-app
ng build --prod --base-href /maxkey-mgt/