MaxKey本地运行实战指南

在这里插入图片描述

主页传送门 : 📀 传送


前言


    有一段时间没看官网文档了,实在是被恶心到了,恶意弹窗要star 踏马的,本来的star我都给他取消掉,纯纯der,恶心人来了。
在这里插入图片描述

概述


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

开发环境准备


之前的4.0版本的更新了 。
image.png

在这里插入图片描述
官网上虽然是这么写的 但是根据实测,最新版的v4.0.2中 node版本最好用node20以上的版本。

gitee或者github 下载下来代码

程序目录


一级目录二级目录说明
README.md关于MaxKey项目
LICENSEApache License v2许可证
NOTICEMaxKey版权声明
ReleaseNotes.txtGA版本发布记录描述
config构建方式配置Jar,Docker,Standard
maxkey-authentications登录认证
maxkey-authentication-core登录认证-核心功能
maxkey-authentication-provider登录认证-认证服务
maxkey-authentication-social登录认证-社交账号
maxkey-common通用基础包和工具类
maxkey-core基础包
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-casCAS认证协议实现
maxkey-protocol-extendapi扩展API实现
maxkey-protocol-formbasedFormbased实现,桌面认证实现开发浏览器插件实现
maxkey-protocol-jwtJWT实现
maxkey-protocol-oauth-2.0OAuth 2.x,OpenID Connect实现
maxkey-protocol-saml-2.0SAML 2.0实现
maxkey-protocol-tokenbasedtokenbased实现
maxkey-starter通用starter组件
maxkey-starter-captcha图形验证码starter组件
maxkey-starter-ip2locationIP地址转归属地starter组件
maxkey-starter-otpOTP动态口令starter组件
maxkey-starter-sms短信发送starter组件
maxkey-starter-webweb公共starter组件
maxkey-web-apisweb-api接口
maxkey-web-api-restREST身份管理接口
maxkey-web-api-scimSCIM2.0身份管理接口
maxkey-web-frontendweb前端
maxkey-web-app认证服务前端
maxkey-web-mgt-app管理服务前端
maxkey-websweb服务
maxkey-web-maxkey认证系统
maxkey-web-mgt管理系统
maxkey-web-openapi开放API接口
maxkey-gataway基于Spring Cloud套件的网关服务
shellscriptWindow和LINUX启动脚本
sql数据库MYSQL脚本,GA版本对应SQL
checkstyle编码规范配置
build.gradle默认工程构建及版本控制
build_cnf.gradle工程构建配置脚本
gradle.properties版本参数配置
settings.gradle项目引入
gradlegradle的配置
release.bat标准和Jar构建版本
release_docker.batdocker构建版本
release_cnf_docker.bat构建Docker配置
release_cnf_standard.bat构建标准配置
release_cnf_tradition.bat构建传统配置
release_cnf_jar.bat构建Jar配置
setEnvVars.batJDK及Gradle路径配置,开发人员配置

环境配置


配置mysql环境 推荐Windows下载解压缩版本8.0.3以上 具体配置很简单 网上随便一搜就能找到,这里就不再赘述了。

配置jdk环境 需要注意jdk版本得是17以上。

配置gradle 因为项目是基于gradle构建的 所以需要配置gradle Gradle 4.02版本的gradle 需要7.2 以上,最好是8.0.2及以上版本的 现在4.04版本代码的gradle 需要8.8 以上,最好是9.0及以上版本的。 不知道如何配置的阔以参考这篇,里边写的还是挺详细的,按照操作配置就好了。Gradle 安装配置详解

配置hosts

hosts配置文件目录

C:\Windows\System32\drivers\etc\hosts

这里比较怪的是 我的电脑没有找到hosts文件 查看隐藏文件夹也没有
所以直接用命令复制一个出来

for /f %P in ('dir %windir%\WinSxS\hosts /b /s') do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P

自动打出hosts文件并且命令行出现“已复制 1 个文件”。再次刷新,应该就会出来了

在hosts 文件新增下面内容

127.0.0.1  sso.maxkey.top
127.0.0.1  mgt.maxkey.top
127.0.0.1  tokenbased.demo.maxkey.top
127.0.0.1  cas.demo.maxkey.top
127.0.0.1  oauth.demo.maxkey.top

至此,环境准备就基本OK了。
接下来就是构建项目启动项目了。

项目构建


需要注意的是在构建之前需要先配置jdk和gradle的环境变量

setEnvVars.bat
set JAVA_HOME=jdk安装位置\jdk
set GRADLE_HOME=gradle安装位置\gradle-8.x

修改数据库连接 把application-maxkey.propertiesapplication-maxkey-mgt.properties
的账号密码还有连接地址替换为自己的。
image.png

Spring boot 构建


1.SpringBoot Jar 构建配置

release_cnf_jar.bat

2.启动构建

gradlew build -x test或者release.bat

构建完之后出现
image.png
这四项就证明构建成功了
接下来启动MaxKeyApplicationMaxKeyMgtApplication后端就启动起来了。

启动这俩项的时候可能会报太长无法启动按照上图选择Shorten command line:为 JAR manifest 再重新启动即可。

标准构建


1.启动构建

gradlew build -x test或者release.bat

2.构建结果
构建包路径

MaxKey/build

依赖包路径

maxkey-webs/maxkey-web-manage/

maxkey-webs/maxkey-web-maxkey/

Docker 构建


1.Docker 构建配置

release_cnf_docker.bat

2.启动构建

gradlew build jib -x test或者release_docker.bat

3.构建结果

maxkey-web-manage/

maxkey-web-maxkey/

传统构建


1.传统 构建配置

release_cnf_tradition.bat

2.启动构建

gradlew build -x test或者release.bat

3.构建的结果

构建包路径:

MaxKey/build/maxkey-jars

依赖包路径:

MaxKey/build/MaxKey-v(version)GA

前端构建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/

问题及解决


“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

Access restriction

解决方案:

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

 yarn start
CategoryInfo          : SecurityError: ,PSSecurityException
FullyQualifiedErrorId : UnauthorizedAccess

解决方案:

Set-ExecutionPolicy RemoteSigned -Scope Process

在这里插入图片描述
解决方案:
替换geadle 版本为8.10 重新构建启动即可

maxkey官网文档:
maxkey文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家有娇妻张兔兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值