maxkey代码提交

main
DELL 1 year ago
parent 18ef4c6f39
commit deb3405417

@ -1,228 +0,0 @@
# 贡献代码
欢迎您对MaxKey项目的贡献。
我们诚挚的感谢你的贡献,这个文档描述了我们的工作方式和工作流程,开发者也可以同时参考官方的相关文档。
## Workflow
MaxKey开发中使用到的几种模型在这个链接下载 [点我](https://github.com/MaxKeyTop/MaxKey/archive/master.zip).
之后是贡献代码的主要流程。
### Fork
* MaxKey采用Pull Request的方式提交代码禁止直接push所有的代码都需要人工review。首先要fork一份MaxKey的代码 ["Fork" button](https://help.github.com/articles/fork-a-repo/).
* 跳转到[MaxKey](https://github.com/MaxKeyTop/MaxKey) GitHub首页然后单击 `Fork` 按钮,生成自己目录下的仓库,比如 <https://github.com/你的用户名/MaxKey>
### Clone(克隆)
将远程仓库 clone 到本地:
```bash
➜ git clone https://github.com/你的用户名/MaxKey
➜ cd MaxKey
```
### 创建本地分支
MaxKey 目前使用[Git流分支模型](http://nvie.com/posts/a-successful-git-branching-model/)进行开发,测试,发行和维护
所有的 feature 和 bug fix 的开发工作都应该在一个新的分支上完成,一般从 `develop` 分支上创建新分支。
使用 `git checkout -b` 创建并切换到新分支。
```bash
➜ git checkout -b my-cool-stuff
```
值得注意的是,在 checkout 之前,需要保持当前分支目录 clean否则会把 untracked 的文件也带到新分支上,这可以通过 `git status` 查看。
### 使用 `pre-commit` 钩子
MaxKey 开发人员使用 [pre-commit](http://pre-commit.com/) 工具来管理 Git 预提交钩子。 在提交commit前自动检查一些基本事宜如每个文件只有一个 EOLGit 中不要添加大文件等)。
`pre-commit`测试是单元测试的一部分,不满足钩子的 PR 不能被提交到 MaxKey首先安装并在当前目录运行它
```bash
pip install pre-commit
pre-commit -v -a
```
## 开始开发
在本例中,我删除了 README.md 中的一行,并创建了一个新文件。
通过 `git status` 查看当前状态,这会提示当前目录的一些变化,同时也可以通过 `git diff` 查看文件具体被修改的内容。
```bash
➜ git status
On branch test
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
test
no changes added to commit (use "git add" and/or "git commit -a")
```
## 构建
配置环境变量
gradleSetEnv.bat
set JAVA_HOME=D:\JavaIDE\jdk1.8.0_91
set GRADLE_HOME=D:\JavaIDE\gradle-5.4.1
启动构建
gradleBuildRelease.bat
构建结果
构建包路径
MaxKey/build/maxkey-jars
依赖包路径
MaxKey/build/maxkey-depjars
具体开发配置参见 https://maxkey.top/zh/development.html
## 提交commit
接下来我们取消对 README.md 文件的改变,然后提交新添加的 test 文件。
```bash
➜ git checkout -- README.md
➜ git status
On branch test
Untracked files:
(use "git add <file>..." to include in what will be committed)
test
nothing added to commit but untracked files present (use "git add" to track)
➜ git add test
```
Git 每次提交代码,都需要写提交说明,这可以让其他人知道这次提交做了哪些改变,这可以通过`git commit` 完成。
```bash
▶ pre-commit run -a -v
[remove-crlf] CRLF end-lines remover........................................Passed
[remove-tabs] Tabs remover..................................................Passed
[check-added-large-files] Check for added large files.......................Passed
[check-merge-conflict] Check for merge conflicts............................Passed
[check-symlinks] Check for broken symlinks..................................Passed
[detect-private-key] Detect Private Key.....................................Passed
[end-of-file-fixer] Fix End of Files........................................Passed
[trailing-whitespace] Trim Trailing Whitespace..............................Passed
[copyright] copyright.......................................................Passed
[clang-format] clang-format.................................................Passed
```
## 保持本地仓库最新
在准备发起 Pull Request 之前,需要同步原仓库(<https://github.com/MaxKeyTop/MaxKey>)最新的代码。
首先通过 `git remote` 查看当前远程仓库的名字。
```bash
➜ git remote
origin
➜ git remote -v
origin https://github.com/USERNAME/MaxKey (fetch)
origin https://github.com/USERNAME/MaxKey (push)
```
这里 origin 是我们 clone 的远程仓库的名字,也就是自己用户名下的 MaxKey接下来我们创建一个原始 MaxKey 仓库的远程主机,命名为 upstream。
```bash
➜ git remote add upstream https://github.com/MaxKeyTop/MaxKey
➜ git remote
origin
upstream
```
获取 upstream 的最新代码并更新当前分支。
```bash
➜ git fetch upstream
➜ git pull upstream develop
```
## Push 到远程仓库
将本地的修改推送到 GitHub 上,也就是 https://github.com/USERNAME/MaxKey。
```bash
# 推送到远程仓库 origin 的 my-cool-stuff 分支上
➜ git push origin my-cool-stuff
```
## 建立 Issue 并完成 Pull Request
建立一个 Issue 描述问题,并记录它的编号。
切换到所建分支,然后点击 `New pull request`
在 PR 的描述说明中,填写 `resolve #Issue编号` 可以在这个 PR 被 merge 后,自动关闭对应的 Issue
> 具体请见 <https://help.github.com/articles/closing-issues-via-commit-messages/>
## review
## 删除远程分支
在 PR 被 merge 进主仓库后,我们可以在 PR 的页面删除远程仓库的分支。
也可以使用 `git push origin :分支名` 删除远程分支,如:
```bash
➜ git push origin :my-cool-stuff
```
## 删除本地分支
最后,删除本地分支。
```bash
# 切换到 develop 分支
➜ git checkout develop
# 删除 my-cool-stuff 分支
➜ git branch -D my-cool-stuff
```
至此,我们就完成了一次代码贡献的过程。
## 提交代码的一些约定
为了使评审人在评审代码时更好地专注于代码本身,请您每次提交代码时,遵守以下约定:
1. 请保证单元测试能顺利通过。如果没过,说明提交的代码存在问题,评审人一般不做评审。
2. 提交Pull Request前
- 请注意commit的数量
- 原因如果仅仅修改一个文件但提交了十几个commit每个commit只做了少量的修改这会给评审人带来很大困扰。评审人需要逐一查看每个commit才能知道做了哪些修改且不排除commit之间的修改存在相互覆盖的情况。
- 建议每次提交时保持尽量少的commit可以通过`git commit --amend`补充上次的commit。对已经Push到远程仓库的多个commit可以参考[squash commits after push](http://stackoverflow.com/questions/5667884/how-to-squash-commits-in-git-after-they-have-been-pushed)。
- 请注意每个commit的名称应能反映当前commit的内容不能太随意。
3. 如果解决了某个Issue的问题请在该Pull Request的**第一个**评论框中加上:`fix #issue_number`这样当该Pull Request被合并后会自动关闭对应的Issue。关键词包括close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved请选择合适的词汇。详细可参考[Closing issues via commit messages](https://help.github.com/articles/closing-issues-via-commit-messages)。
此外,在回复评审人意见时,请您遵守以下约定:
1. 评审人的每个意见都必须回复(这是开源社区的基本礼貌,别人帮了忙,应该说谢谢):
- 对评审意见同意且按其修改完的,给个简单的`Done`即可;
- 对评审意见不同意的,请给出您自己的反驳理由。
2. 如果评审意见比较多:
- 请给出总体的修改情况。
- 请采用[start a review](https://help.github.com/articles/reviewing-proposed-changes-in-a-pull-request/)进行回复,而非直接回复的方式。原因是每个回复都会发送一封邮件,会造成邮件灾难。

@ -1,297 +0,0 @@
<p align="center" >
<img src="images/logo_maxkey.png?raw=true" width="200px" alt=""/>
</p>
<p align="center">
<strong>Leading-Edge IAM/IDaas Identity and Access Management Product</strong>
</p>
<p align="center" >
<a href="README_en.md" target="_blank"><b>English</b></a> | <a href="README_zh.md" target="_blank"><b>中文</b></a>
</p>
<p align="center">
<a target="_blank" href="http://www.maxkey.top/zh/about/download.html">
<img src="https://img.shields.io/github/v/release/dromara/MaxKey" />
</a>
<a target="_blank" href="https://www.oracle.com/java/technologies/downloads/">
<img src="https://img.shields.io/badge/JDK-v17%2B-brightgreen" />
</a>
<a target="_blank" href="https://www.mysql.com/">
<img src="https://img.shields.io/badge/MySQL-8.0.12%2B-brightgreen" />
</a>
<a target="_blank" href="http://www.maxkey.top/zh/about/licenses.html">
<img src="https://img.shields.io/github/license/dromara/MaxKey" />
</a>
</p>
# Overview
<b>Maxkey </b> Single Sign On System, which means the Maximum key, <b>Leading-Edge IAM/IDaas Identity and Access Management product </b>, Support OAuth 2.x/OpenID Connect, SAML 2.0, JWT, CAS, SCIM and other standard protocols, and provide <b> Secure, Standard and Open </b> Identity management (IDM), Access management (AM), Single Sign On (SSO), RBAC permission management and Resource management.
MaxKey focuses on performance, security, and ease of use in enterprise scenarios, is widely used in industries such as healthcare, finance, government, and manufacturing.
Official Website <a href="http://www.maxkey.top/" target="_blank"><b>http://www.maxkey.top/</b></a>
WeChat:
<img src="images/wechat.jpg?raw=true" width="200px" alt="官方微信"/>
QQ : <b> 1054466084 </b>
email: <b> support@maxsso.net </b>
Code Hosting <a href="https://github.com/dromara/MaxKey" target="_blank"><b>GitHub</b></a> | <a href="https://gitee.com/dromara/MaxKey" target="_blank"><b>Gitee</b></a>
><b> Single Sign On </b>(<b> SSO </b >),Users only need to login to the authentication center once , access all the trusted application systems without logging in again.
>
>**Key Functions**
>1) All application systems share one Identity authentication system
>2) All application systems can Identify and extract Ticket
# Features
1. Standard Protocols
| No. | Protocols | Support |
| --------| :----- | :---- |
| 1.1 | OAuth 2.x/OpenID Connect | HIGH |
| 1.2 | SAML 2.0 | HIGH |
| 1.3 | JWT | HIGH |
| 1.4 | CAS | HIGH |
| 1.5 | SCIM 2.0 | HIGH |
| 1.6 | FormBased | MIDDLE|
| 1.7 | TokenBased(Post/Cookie) | MIDDLE|
| 1.8 | ExtendApi | LOW |
| 1.9 | EXT | LOW |
2. Authentication
| No. | SignIn Support | Support |
| --------| :----- | :---- |
| 2.1 | Captcha | letter / number / arithmetic |
| 2.2 | Two Factor Authentication | SMS / TOPT/ Mail |
| 2.3 | SMS | Tencent SMS / Alibaba SMS / NetEaseYunXin |
| 2.4 | TOTP | Google/Microsoft Authenticator/FreeOTP/Support TOTP or HOTP |
| 2.5 | Domain | Kerberos/SPNEGO/AD domain|
| 2.6 | LDAP | OpenLDAP/ActiveDirectory/Standard LDAP Server |
| 2.7 | Social Account | WeChat/QQ/ Weibo/DingTalk/Google/Facebook/other |
| 2.8 | Scan QR Code | WorkWeiXin/DingTalk/FeiShu Scan QR Code |
3. Standard Authentication Protocols for applications to integrate sso, secure mobile access, secure API, third-party authentication and Internet authentication.
4. Identity Lifecycle management, support SCIM 2 , and The out of the box connector realizes identity supply synchronization.
5. Simplify Microsoft Active Directory , standard LDAP server organization and account management, and reset password through password self-service.
6. The IDaas Multi-Tenancy authentication platform , supports the independent management of multiple enterprises under the group company or the data isolation of different departments under the enterprise, so as to reduce the operation and maintenance cost.
7. The platform independence and diversity of environment. It supports web, mobile phone, mobile devices, such as apple IOS, Android, etc., and covers the certification ability from B/S to mobile applications.
8. Configured password and access policies; Supports precise IP positioning in Ip2region or GeoLite2 geographic databases, powerful security auditing, full lifecycle audit of users, traceability audit of access behavior records, security compliance audit, and security risk warning.
9. Based on Java EE platform , microservice architecture, Use Spring, MySQL, Tomcat, Redis , MQ and other open source technologies, and has strong scalability.
10. Open Source, Secure, Independent and Controllable .
# Interface
**MaxKey**
Login UI
<img src="images/maxkey_login.png?raw=true"/>
App List UI
<img src="images/maxkey_index.png?raw=true"/>
**MaxKey Management**
Report UI
<img src="images/maxkey_mgt_rpt.png?raw=true"/>
User Management UI
<img src="images/maxkey_mgt_users.png?raw=true"/>
App Management UI
<img src="images/maxkey_mgt_apps.png?raw=true"/>
# Download
Download the current version from Baidu Pan,<a href="http://www.maxkey.top/zh/about/download.html" target="_blank"> history version</a>
| Version | Date | Pan URL (Code) | Docker |
| -------- | :----- | :---- | :---- |
| v 4.0.2 | 2023/10/11 | <a href="https://pan.baidu.com/s/1XFavsQ19fFw-KXe2K1rAEA" target="_blank">Download</a> ( **mxk9** ) | <a href="https://hub.docker.com/u/maxkeytop" target="_blank">Home</a> |
# Install
| OS | Manual |
| -------- | :----- |
| Windows | <a href="http://maxkey.top/zh/conf/tutorial.html?#windows" target="_blank">Document</a> |
| Linux | <a href="http://maxkey.top/zh/conf/tutorial.html?#linux" target="_blank">Document</a> |
| Docker | <a href="http://maxkey.top/zh/conf/deploy_docker.html" target="_blank">Document</a> |
# License
<a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank"> Apache License, Version 2.0 </a>& <a href="http://www.maxkey.top/zh/about/licenses.html" target="_blank">MaxKey copyright NOTICE</a>
# 中国信通院零信任实验室
<a href="https://mp.weixin.qq.com/s/2T9TCo3EP0o9bD8ArAjUkw" target="_blank">中国信通院零信任实验室</a>
# 零信任标准工作组
<a href="https://gitee.com/zero-trust/ZeroTrust" target="_blank">国内最权威的零信任产业组织</a>
# Gitee最有价值开源项目GVP
<a href="http://maxkey.top/zh/about/welcome.html" target="_blank">Gitee-最有价值开源项目GVP</a>
# Dromara社区
<a href="https://dromara.org/zh/" target="_blank">**Dromara**</a>致力于微服务云原生解决方案的组织。
- **开放** 技术栈全面开源共建、 保持社区中立、兼容社区 兼容开源生态
- **愿景** 让每一位开源爱好者,体会到开源的快乐
- **口号** 为往圣继绝学,一个人或许能走的更快,但一群人会走的更远
# 知识星球
<img src="images/zsxq.png?raw=true"/>
# User Registration
<a href="https://github.com/dromara/MaxKey/issues/40" target="_blank"> Click to register </a> as MaxKey user and contribute to MaxKey!
以下为部分接入或测试中的用户
| 单位 |
| :----- |
| 中国人民警察大学 |
| 兰州现代职业学院 |
| 长春职业技术学院 |
| 云南师范大学 |
| 云南农业职业技术学院 |
| 惠州卫生职业技术学院 |
| 宜昌市三峡中等专业学校 |
| 重庆市北碚图书馆 |
| 天津市劳动保障技师学院 |
| 南京财经高等职业技术学校 |
| 泸州市教育和体育局 |
| 余姚市教育局 |
| 中国金融认证中心 |
| 国家高端智能化家用电器创新中心 |
| 国元证券 |
| 华夏金融租赁有限公司 |
| 国宝人寿保险股份有限公司 |
| 瀚华金控股份有限公司 |
| 紫金财产保险股份有限公司 |
| 路特斯中国 |
| 奇瑞汽车股份有限公司 |
| 宇通客车股份有限公司 |
| 国家能源局 |
| 国务院港澳事务办公室 |
| 百度智能云身份管理服务 |
| 360公司 |
| 三一华兴 |
| 西藏阜康医院 |
| 海阳市人民医院 |
| 上海逸广信息科技有限公司 |
| 联鹏应用软件(上海)有限公司 |
| 上海万序健康科技有限公司 |
| 上海中商网络股份有限公司 |
| 上海半天妖餐饮管理有限公司 |
| 上海契胜科技有限公司 |
| GAP盖璞上海商业有限公司 |
| 汤臣倍健股份有限公司 |
| 跳羚科技(厦门)有限公司 |
| 飞天诚信科技股份有限公司 |
| 浪潮工业互联网股份有限公司 |
| 唐颐控股有限公司 |
| 中创智维科技有限公司 |
| 中航金网(北京)电子商务有限公司 |
| 中国航空制造技术研究院 |
| 中建国际投资集团有限公司 |
| 同方节能工程技术有限公司 |
| 云南航天工程物探检测股份有限公司 |
| 山东港口陆海国际物流集团有限公司 |
| 山东埃德森石油工程技术有限公司 |
| 山东第一医科大学第一附属医院 |
| 广州无线电集团 |
| 广州携旅信息科技有限公司 |
| 广州蓝深科技有限公司 |
| 广州广汽商贸物流有限公司 |
| 广州思迈特软件有限公司 |
| 广东鸿正软件技术有限公司 |
| 广东汇天航空航天科技有限公司 |
| 佛山众陶联供应链服务有限公司 |
| 河南新辰环保科技有限公司 |
| 黄河科技集团有限公司 |
| 豫信电子科技集团有限公司 |
| 双汇物流投资有限公司 |
| 广东漫云物联科技有限公司 |
| 深圳市金溢科技股份有限公司 |
| 深圳市中悦科技有限公司 |
| 深圳能源集团股份有限公司 |
| 深圳市东阳光实业发展有限公司 |
| 深圳云天励飞技术股份有限公司 |
| 深圳市维玛科技有限公司 |
| 深圳市观塘银河电讯科技有限公司 |
| 北京博亚思科技有限公司 |
| 北京银泰置业有限公司 |
| 北京和融通支付科技有限公司 |
| 北京微通新成网络科技有限公司 |
| 北京柏橡科技有限公司 |
| 浙江领湾网络有限公司 |
| 浙江申跃信息科技有限公司 |
| 浙江一舟电子科技股份有限公司 |
| 杭州润为数据科技有限公司 |
| 杭州马上自动化科技有限公司 |
| 景德镇黑猫集团有限责任公司 |
| 之江实验室 |
| 丽水市中医医院 |
| 宁波金融资产交易中心 |
| 德清智慧教育平台 |
| 江苏创致信息科技有限公司 |
| 无锡市陶都巨龙软件有限责任公司 |
| TCL华星光电技术有限公司 |
| 万宝盛华集团 |
| 妙盈科技 |
| 尚企云链 |
| 华奕四库 |
| 海力控股集团 |
| 中国融通教育集团 |
| 新疆天衡信息系统咨询管理有限公司 |
| 新开普电子股份有限公司 |
| 广西数字浪潮数据服务有限公司 |
| 百安居中国 |
| 重庆两江协同创新区 |
| 万宝盛华大中华有限公司 |
| 哈尔滨途图科技有限公司 |
| 哈尔滨逐浪文化传媒有限公司 |
| 大连电瓷集团股份有限公司 |
| 锦州港股份有限公司 |
| 湖南数通信息技术服务有限公司 |
| 湖南湘邮科技股份有限公司 |
| 湖南省公共资源交易平台市场主体注册系统 |
| 湘潭智慧教育云统一认证平台 |
| 南京市智慧医疗投资运营服务有限公司 |
| 南凌科技股份有限公司 |
| 福建引迈信息技术有限公司 |
| 漳州信息产业集团有限公司 |
| 厦门茂商科技有限公司 |
| 惠州中京电子科技股份有限公司 |
| 武汉英特沃科技有限公司 |
| 武汉博特睿达智能科技有限公司 |
| 江西云车科技有限公司 |
| 天津汉通教育科技有限公司 |
| 天津市达恩华天智能科技有限公司 |
| 企思(天津)科技有限公司 |
| 凯盛工业互联网平台 |
| 吕梁市医改监测平台 |
| 遂宁市经济大数据平台 |
| 临沂市城市大脑物联网统一认证平台 |

@ -1,296 +0,0 @@
<p align="center" >
<img src="images/logo_maxkey.png?raw=true" width="200px" alt=""/>
</p>
<p align="center">
<strong>Leading-Edge IAM/IDaas Identity and Access Management Product</strong>
</p>
<p align="center" >
<a href="README_en.md" target="_blank"><b>English</b></a> | <a href="README_zh.md" target="_blank"><b>中文</b></a>
</p>
<p align="center">
<a target="_blank" href="http://www.maxkey.top/zh/about/download.html">
<img src="https://img.shields.io/github/v/release/dromara/MaxKey" />
</a>
<a target="_blank" href="https://www.oracle.com/java/technologies/downloads/">
<img src="https://img.shields.io/badge/JDK-v17%2B-brightgreen" />
</a>
<a target="_blank" href="https://www.mysql.com/">
<img src="https://img.shields.io/badge/MySQL-8.0.12%2B-brightgreen" />
</a>
<a target="_blank" href="http://www.maxkey.top/zh/about/licenses.html">
<img src="https://img.shields.io/github/license/dromara/MaxKey" />
</a>
</p>
# Overview
<b>Maxkey </b> Single Sign On System, which means the Maximum key, <b>Leading-Edge IAM/IDaas Identity and Access Management Product </b>, Support OAuth 2.x/OpenID Connect, SAML 2.0, JWT, CAS, SCIM and other standard protocols, and provide <b> Secure , Standard and Open </b> Identity management (IDM), Access management (AM), Single Sign On (SSO), RBAC permission management and Resource management.
MaxKey focuses on performance, security, and ease of use in enterprise scenarios, is widely used in industries such as healthcare, finance, government, and manufacturing.
Official Website <a href="http://www.maxkey.top/" target="_blank"><b>http://www.maxkey.top/</b></a>
WeChat:
<img src="images/wechat.jpg?raw=true" width="200px" alt="官方微信"/>
QQ: <b> 1054466084 </b>
email: <b> support@maxsso.net </b>
Code Hosting <a href="https://github.com/dromara/MaxKey" target="_blank"><b>GitHub</b></a> | <a href="https://gitee.com/dromara/MaxKey" target="_blank"><b>Gitee</b></a>
><b> Single Sign On </b>(<b> SSO </b >),Users only need to login to the authentication center once , access all the trusted application systems without logging in again.
>
>**Key Functions**
>1) All application systems share one Identity authentication system
>2) All application systems can Identify and extract Ticket
# Features
1. Standard Protocols
| No. | Protocols | Support |
| --------| :----- | :---- |
| 1.1 | OAuth 2.x/OpenID Connect | HIGH |
| 1.2 | SAML 2.0 | HIGH |
| 1.3 | JWT | HIGH |
| 1.4 | CAS | HIGH |
| 1.5 | SCIM 2.0 | HIGH |
| 1.6 | FormBased | MIDDLE|
| 1.7 | TokenBased(Post/Cookie) | MIDDLE|
| 1.8 | ExtendApi | LOW |
| 1.9 | EXT | LOW |
2. Authentication
| No. | SignIn Support | Support |
| --------| :----- | :---- |
| 2.1 | Captcha | letter / number / arithmetic |
| 2.2 | Two Factor Authentication | SMS / TOPT/ Mail |
| 2.3 | SMS | Tencent SMS / Alibaba SMS / NetEaseYunXin |
| 2.4 | TOTP | Google/Microsoft Authenticator/FreeOTP/Support TOTP or HOTP |
| 2.5 | Domain | Kerberos/SPNEGO/AD domain|
| 2.6 | LDAP | OpenLDAP/ActiveDirectory/Standard LDAP Server |
| 2.7 | Social Account | WeChat/QQ/ Weibo/DingTalk/Google/Facebook/other |
| 2.8 | Scan QR Code | WorkWeiXin/DingTalk/FeiShu Scan QR Code |
3. Standard Authentication Protocols for applications to integrate sso, secure mobile access, secure API, third-party authentication and Internet authentication.
4. Identity Lifecycle management, support SCIM 2 , and The out of the box connector realizes identity supply synchronization.
5. Simplify Microsoft Active Directory , standard LDAP server organization and account management, and reset password through password self-service.
6. The IDaas Multi-Tenancy authentication platform , supports the independent management of multiple enterprises under the group company or the data isolation of different departments under the enterprise, so as to reduce the operation and maintenance cost.
7. The platform independence and diversity of environment. It supports web, mobile phone, mobile devices, such as apple IOS, Android, etc., and covers the certification ability from B/S to mobile applications.
8. Configured password and access policies; Supports precise IP positioning in Ip2region or GeoLite2 geographic databases, powerful security auditing, full lifecycle audit of users, traceability audit of access behavior records, security compliance audit, and security risk warning.
9. Based on Java EE platform , microservice architecture, Use Spring, MySQL, Tomcat, Redis , MQ and other open source technologies, and has strong scalability.
10. Open Source, Secure, Independent and Controllable .
# Interface
**MaxKey**
Login UI
<img src="images/maxkey_login.png?raw=true"/>
App List UI
<img src="images/maxkey_index.png?raw=true"/>
**MaxKey Management**
Report UI
<img src="images/maxkey_mgt_rpt.png?raw=true"/>
User Management UI
<img src="images/maxkey_mgt_users.png?raw=true"/>
App Management UI
<img src="images/maxkey_mgt_apps.png?raw=true"/>
# Download
Download the current version from Baidu Pan,<a href="http://www.maxkey.top/zh/about/download.html" target="_blank"> history version</a>
| Version | Date | Pan URL (Code) | Docker |
| -------- | :----- | :---- | :---- |
| v 4.0.2 | 2023/10/11 | <a href="https://pan.baidu.com/s/1XFavsQ19fFw-KXe2K1rAEA" target="_blank">Download</a> ( **mxk9** ) | <a href="https://hub.docker.com/u/maxkeytop" target="_blank">Home</a> |
# Install
| OS | Manual |
| -------- | :----- |
| Windows | <a href="http://maxkey.top/zh/conf/tutorial.html?#windows" target="_blank">Document</a> |
| Linux | <a href="http://maxkey.top/zh/conf/tutorial.html?#linux" target="_blank">Document</a> |
| Docker | <a href="http://maxkey.top/zh/conf/deploy_docker.html" target="_blank">Document</a> |
# License
<a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank"> Apache License, Version 2.0 </a>& <a href="http://www.maxkey.top/zh/about/licenses.html" target="_blank">MaxKey copyright NOTICE</a>
# 中国信通院零信任实验室
<a href="https://mp.weixin.qq.com/s/2T9TCo3EP0o9bD8ArAjUkw" target="_blank">中国信通院零信任实验室</a>
# 零信任标准工作组
<a href="https://gitee.com/zero-trust/ZeroTrust" target="_blank">国内最权威的零信任产业组织</a>
# Gitee最有价值开源项目GVP
<a href="http://maxkey.top/zh/about/welcome.html" target="_blank">Gitee-最有价值开源项目GVP</a>
# Dromara社区
<a href="https://dromara.org/zh/" target="_blank">**Dromara**</a>致力于微服务云原生解决方案的组织。
- **开放** 技术栈全面开源共建、 保持社区中立、兼容社区 兼容开源生态
- **愿景** 让每一位开源爱好者,体会到开源的快乐
- **口号** 为往圣继绝学,一个人或许能走的更快,但一群人会走的更远
# 知识星球
<img src="images/zsxq.png?raw=true"/>
# User Registration
<a href="https://github.com/dromara/MaxKey/issues/40" target="_blank"> Click to register </a> as MaxKey user and contribute to MaxKey!
以下为部分接入或测试中的用户
| 单位 |
| :----- |
| 中国人民警察大学 |
| 兰州现代职业学院 |
| 长春职业技术学院 |
| 云南师范大学 |
| 云南农业职业技术学院 |
| 惠州卫生职业技术学院 |
| 宜昌市三峡中等专业学校 |
| 重庆市北碚图书馆 |
| 天津市劳动保障技师学院 |
| 南京财经高等职业技术学校 |
| 泸州市教育和体育局 |
| 余姚市教育局 |
| 中国金融认证中心 |
| 国家高端智能化家用电器创新中心 |
| 国元证券 |
| 华夏金融租赁有限公司 |
| 国宝人寿保险股份有限公司 |
| 瀚华金控股份有限公司 |
| 紫金财产保险股份有限公司 |
| 路特斯中国 |
| 奇瑞汽车股份有限公司 |
| 宇通客车股份有限公司 |
| 国家能源局 |
| 国务院港澳事务办公室 |
| 百度智能云身份管理服务 |
| 360公司 |
| 三一华兴 |
| 西藏阜康医院 |
| 海阳市人民医院 |
| 上海逸广信息科技有限公司 |
| 联鹏应用软件(上海)有限公司 |
| 上海万序健康科技有限公司 |
| 上海中商网络股份有限公司 |
| 上海半天妖餐饮管理有限公司 |
| 上海契胜科技有限公司 |
| GAP盖璞上海商业有限公司 |
| 汤臣倍健股份有限公司 |
| 跳羚科技(厦门)有限公司 |
| 飞天诚信科技股份有限公司 |
| 浪潮工业互联网股份有限公司 |
| 唐颐控股有限公司 |
| 中创智维科技有限公司 |
| 中航金网(北京)电子商务有限公司 |
| 中国航空制造技术研究院 |
| 中建国际投资集团有限公司 |
| 同方节能工程技术有限公司 |
| 云南航天工程物探检测股份有限公司 |
| 山东港口陆海国际物流集团有限公司 |
| 山东埃德森石油工程技术有限公司 |
| 山东第一医科大学第一附属医院 |
| 广州无线电集团 |
| 广州携旅信息科技有限公司 |
| 广州蓝深科技有限公司 |
| 广州广汽商贸物流有限公司 |
| 广州思迈特软件有限公司 |
| 广东鸿正软件技术有限公司 |
| 广东汇天航空航天科技有限公司 |
| 佛山众陶联供应链服务有限公司 |
| 河南新辰环保科技有限公司 |
| 黄河科技集团有限公司 |
| 豫信电子科技集团有限公司 |
| 双汇物流投资有限公司 |
| 广东漫云物联科技有限公司 |
| 深圳市金溢科技股份有限公司 |
| 深圳市中悦科技有限公司 |
| 深圳能源集团股份有限公司 |
| 深圳市东阳光实业发展有限公司 |
| 深圳云天励飞技术股份有限公司 |
| 深圳市维玛科技有限公司 |
| 深圳市观塘银河电讯科技有限公司 |
| 北京博亚思科技有限公司 |
| 北京银泰置业有限公司 |
| 北京和融通支付科技有限公司 |
| 北京微通新成网络科技有限公司 |
| 北京柏橡科技有限公司 |
| 浙江领湾网络有限公司 |
| 浙江申跃信息科技有限公司 |
| 浙江一舟电子科技股份有限公司 |
| 杭州润为数据科技有限公司 |
| 杭州马上自动化科技有限公司 |
| 景德镇黑猫集团有限责任公司 |
| 之江实验室 |
| 丽水市中医医院 |
| 宁波金融资产交易中心 |
| 德清智慧教育平台 |
| 江苏创致信息科技有限公司 |
| 无锡市陶都巨龙软件有限责任公司 |
| TCL华星光电技术有限公司 |
| 万宝盛华集团 |
| 妙盈科技 |
| 尚企云链 |
| 华奕四库 |
| 海力控股集团 |
| 中国融通教育集团 |
| 新疆天衡信息系统咨询管理有限公司 |
| 新开普电子股份有限公司 |
| 广西数字浪潮数据服务有限公司 |
| 百安居中国 |
| 重庆两江协同创新区 |
| 万宝盛华大中华有限公司 |
| 哈尔滨途图科技有限公司 |
| 哈尔滨逐浪文化传媒有限公司 |
| 大连电瓷集团股份有限公司 |
| 锦州港股份有限公司 |
| 湖南数通信息技术服务有限公司 |
| 湖南湘邮科技股份有限公司 |
| 湖南省公共资源交易平台市场主体注册系统 |
| 湘潭智慧教育云统一认证平台 |
| 南京市智慧医疗投资运营服务有限公司 |
| 南凌科技股份有限公司 |
| 福建引迈信息技术有限公司 |
| 漳州信息产业集团有限公司 |
| 厦门茂商科技有限公司 |
| 惠州中京电子科技股份有限公司 |
| 武汉英特沃科技有限公司 |
| 武汉博特睿达智能科技有限公司 |
| 江西云车科技有限公司 |
| 天津汉通教育科技有限公司 |
| 天津市达恩华天智能科技有限公司 |
| 企思(天津)科技有限公司 |
| 凯盛工业互联网平台 |
| 吕梁市医改监测平台 |
| 遂宁市经济大数据平台 |
| 临沂市城市大脑物联网统一认证平台 |

@ -1,300 +0,0 @@
<p align="center" >
<img src="images/logo_maxkey.png?raw=true" width="200px" alt=""/>
</p>
<p align="center">
<strong>业界领先的IAM-IDaas身份管理和认证产品</strong>
</p>
<p align="center" >
<a href="README_en.md" target="_blank"><b>English</b></a> | <a href="README_zh.md" target="_blank"><b>中文</b></a>
</p>
<p align="center">
<a target="_blank" href="http://www.maxkey.top/zh/about/download.html">
<img src="https://img.shields.io/github/v/release/dromara/MaxKey" />
</a>
<a target="_blank" href="https://www.oracle.com/java/technologies/downloads/">
<img src="https://img.shields.io/badge/JDK-v17%2B-brightgreen" />
</a>
<a target="_blank" href="https://www.mysql.com/">
<img src="https://img.shields.io/badge/MySQL-8.0.12%2B-brightgreen" />
</a>
<a target="_blank" href="http://www.maxkey.top/zh/about/licenses.html">
<img src="https://img.shields.io/github/license/dromara/MaxKey" />
</a>
</p>
# 概述
<b>MaxKey</b>单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是<b>业界领先的IAM-IDaas身份管理和认证产品</b>,支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM等标准协议提供<b>安全、标准和开放</b>的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC权限管理和资源管理等。
MaxKey注重企业级场景下的性能、安全和易用性广泛应用于医疗、金融、政府和制造等行业。
官方网站 <a href="http://www.maxkey.top/" target="_blank"><b>http://www.maxkey.top/</b></a>
官方微信:
<img src="images/wechat.jpg?raw=true" width="200px" alt="官方微信"/>
官方QQ<b>1054466084</b>
邮箱email: <b>support@maxsso.net</b>
代码托管 <a href="https://gitee.com/dromara/MaxKey" target="_blank"><b>Gitee</b></a> | <a href="https://github.com/dromara/MaxKey" target="_blank"><b>GitHub</b></a>
><b>单点登录(Single Sign On</b>简称为<b>SSO</b>,用户只需要登录认证中心一次就可以访问所有相互信任的应用系统,无需再次登录。
>
>**主要功能:**
>1) 所有应用系统共享一个身份认证系统
>2) 所有应用系统能够识别和提取ticket信息
# 产品特性
1. 标准协议
| 序号 | 协议 | 支持 |
| --------| :----- | :---- |
| 1.1 | OAuth 2.x/OpenID Connect | 高 |
| 1.2 | SAML 2.0 | 高 |
| 1.3 | JWT | 高 |
| 1.4 | CAS | 高 |
| 1.5 | SCIM 2.0 | 高 |
| 1.6 | FormBased | 中 |
| 1.7 | TokenBased(Post/Cookie) | 中 |
| 1.8 | ExtendApi | 低 |
| 1.9 | 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 | 扫码登录 | 企业微信/钉钉/飞书扫码登录 |
3. 提供标准的认证接口以便于其他应用集成SSO安全的移动接入安全的API、第三方认证和互联网认证的整合。
4. 提供用户生命周期管理支持SCIM 2协议开箱即用的连接器(Connector)实现身份供给同步。
5. 简化微软Active Directory域控、标准LDAP服务器机构和账号管理密码自助服务重置密码。
6. IDaas多租户功能支持集团下多企业独立管理或企业下不同部门数据隔离的降低运维成本。
7. 认证中心具有平台无关性、环境多样性支持Web、手机、移动设备等, 如Apple iOSAndriod等将认证能力从B/S到移动应用全面覆盖。
8. 配置化的密码策略、访问策略支持Ip2region或GeoLite2地理库精准IP定位 ,强大安全审计,对用户全生命周期审计、访问行为记录追溯审计、安全合规审计、安全风险预警。
9. 基于Java EE平台微服务架构采用Spring、MySQL、Tomcat、Redis、MQ等开源技术扩展性强。
10. 开源、安全、自主可控。
# 界面
**MaxKey认证**
登录界面
<img src="images/maxkey_login.png?raw=true"/>
主界面
<img src="images/maxkey_index.png?raw=true"/>
**MaxKey管理**
访问报表
<img src="images/maxkey_mgt_rpt.png?raw=true"/>
用户管理
<img src="images/maxkey_mgt_users.png?raw=true"/>
应用管理
<img src="images/maxkey_mgt_apps.png?raw=true"/>
# 下载
当前版本百度网盘下载,<a href="http://www.//maxkey.top/zh/about/download.html" target="_blank"> 历史版本</a>
| 版本 | 日期 | 网盘(提取码) | Docker |
| -------- | :----- | :---- | :---- |
| v 4.0.2 | 2023/10/11 | <a href="https://pan.baidu.com/s/1XFavsQ19fFw-KXe2K1rAEA" target="_blank">下载</a>( **mxk9** ) |<a href="https://hub.docker.com/u/maxkeytop" target="_blank">链接</a> |
# 安装部署
| 操作系统 | 安装手册 |
| -------- | :----- |
| Windows | <a href="http://maxkey.top/zh/conf/tutorial.html?#windows" target="_blank">链接</a> |
| Linux | <a href="http://maxkey.top/zh/conf/tutorial.html?#linux" target="_blank">链接</a> |
| Docker | <a href="http://maxkey.top/zh/conf/deploy_docker.html" target="_blank">链接</a> |
# License
<a href="https://www.apache.org/licenses/LICENSE-2.0.html" target="_blank"> Apache License, Version 2.0 </a>& <a href="http://www.maxkey.top/zh/about/licenses.html" target="_blank">MaxKey版权声明</a>
# 中国信通院零信任实验室
<a href="https://mp.weixin.qq.com/s/2T9TCo3EP0o9bD8ArAjUkw" target="_blank">中国信通院零信任实验室</a>
# 零信任标准工作组
<a href="https://gitee.com/zero-trust/ZeroTrust" target="_blank">国内最权威的零信任产业组织</a>
# Gitee最有价值开源项目GVP
<a href="http://maxkey.top/zh/about/welcome.html" target="_blank">Gitee-最有价值开源项目GVP</a>
# Dromara社区
<a href="https://dromara.org/zh/" target="_blank">**Dromara**</a>致力于微服务云原生解决方案的组织。
- **开放** 技术栈全面开源共建、 保持社区中立、兼容社区 兼容开源生态
- **愿景** 让每一位开源爱好者,体会到开源的快乐
- **口号** 为往圣继绝学,一个人或许能走的更快,但一群人会走的更远
# 知识星球
<img src="images/zsxq.png?raw=true"/>
# 接入登记
<a href="https://gitee.com/dromara/MaxKey/issues/I2BNRZ" target="_blank"> 点击进行接入登记</a>,为 MaxKey的发展贡献自己的力量
以下为部分接入或测试中的用户
| 单位 |
| :----- |
| 中国人民警察大学 |
| 兰州现代职业学院 |
| 长春职业技术学院 |
| 云南师范大学 |
| 云南农业职业技术学院 |
| 惠州卫生职业技术学院 |
| 宜昌市三峡中等专业学校 |
| 重庆市北碚图书馆 |
| 天津市劳动保障技师学院 |
| 南京财经高等职业技术学校 |
| 泸州市教育和体育局 |
| 余姚市教育局 |
| 中国金融认证中心 |
| 国家高端智能化家用电器创新中心 |
| 国元证券 |
| 华夏金融租赁有限公司 |
| 国宝人寿保险股份有限公司 |
| 瀚华金控股份有限公司 |
| 紫金财产保险股份有限公司 |
| 路特斯中国 |
| 奇瑞汽车股份有限公司 |
| 宇通客车股份有限公司 |
| 国家能源局 |
| 国务院港澳事务办公室 |
| 百度智能云身份管理服务 |
| 360公司 |
| 三一华兴 |
| 西藏阜康医院 |
| 海阳市人民医院 |
| 上海逸广信息科技有限公司 |
| 联鹏应用软件(上海)有限公司 |
| 上海万序健康科技有限公司 |
| 上海中商网络股份有限公司 |
| 上海半天妖餐饮管理有限公司 |
| 上海契胜科技有限公司 |
| GAP盖璞上海商业有限公司 |
| 汤臣倍健股份有限公司 |
| 跳羚科技(厦门)有限公司 |
| 飞天诚信科技股份有限公司 |
| 浪潮工业互联网股份有限公司 |
| 唐颐控股有限公司 |
| 中创智维科技有限公司 |
| 中航金网(北京)电子商务有限公司 |
| 中国航空制造技术研究院 |
| 中建国际投资集团有限公司 |
| 同方节能工程技术有限公司 |
| 云南航天工程物探检测股份有限公司 |
| 山东港口陆海国际物流集团有限公司 |
| 山东埃德森石油工程技术有限公司 |
| 山东第一医科大学第一附属医院 |
| 广州无线电集团 |
| 广州携旅信息科技有限公司 |
| 广州蓝深科技有限公司 |
| 广州广汽商贸物流有限公司 |
| 广州思迈特软件有限公司 |
| 广东鸿正软件技术有限公司 |
| 广东汇天航空航天科技有限公司 |
| 佛山众陶联供应链服务有限公司 |
| 河南新辰环保科技有限公司 |
| 黄河科技集团有限公司 |
| 豫信电子科技集团有限公司 |
| 双汇物流投资有限公司 |
| 广东漫云物联科技有限公司 |
| 深圳市金溢科技股份有限公司 |
| 深圳市中悦科技有限公司 |
| 深圳能源集团股份有限公司 |
| 深圳市东阳光实业发展有限公司 |
| 深圳云天励飞技术股份有限公司 |
| 深圳市维玛科技有限公司 |
| 深圳市观塘银河电讯科技有限公司 |
| 北京博亚思科技有限公司 |
| 北京银泰置业有限公司 |
| 北京和融通支付科技有限公司 |
| 北京微通新成网络科技有限公司 |
| 北京柏橡科技有限公司 |
| 浙江领湾网络有限公司 |
| 浙江申跃信息科技有限公司 |
| 浙江一舟电子科技股份有限公司 |
| 杭州润为数据科技有限公司 |
| 杭州马上自动化科技有限公司 |
| 景德镇黑猫集团有限责任公司 |
| 之江实验室 |
| 丽水市中医医院 |
| 宁波金融资产交易中心 |
| 德清智慧教育平台 |
| 江苏创致信息科技有限公司 |
| 无锡市陶都巨龙软件有限责任公司 |
| TCL华星光电技术有限公司 |
| 万宝盛华集团 |
| 妙盈科技 |
| 尚企云链 |
| 华奕四库 |
| 海力控股集团 |
| 中国融通教育集团 |
| 新疆天衡信息系统咨询管理有限公司 |
| 新开普电子股份有限公司 |
| 广西数字浪潮数据服务有限公司 |
| 百安居中国 |
| 重庆两江协同创新区 |
| 万宝盛华大中华有限公司 |
| 哈尔滨途图科技有限公司 |
| 哈尔滨逐浪文化传媒有限公司 |
| 大连电瓷集团股份有限公司 |
| 锦州港股份有限公司 |
| 湖南数通信息技术服务有限公司 |
| 湖南湘邮科技股份有限公司 |
| 湖南省公共资源交易平台市场主体注册系统 |
| 湘潭智慧教育云统一认证平台 |
| 南京市智慧医疗投资运营服务有限公司 |
| 南凌科技股份有限公司 |
| 福建引迈信息技术有限公司 |
| 漳州信息产业集团有限公司 |
| 厦门茂商科技有限公司 |
| 惠州中京电子科技股份有限公司 |
| 武汉英特沃科技有限公司 |
| 武汉博特睿达智能科技有限公司 |
| 江西云车科技有限公司 |
| 天津汉通教育科技有限公司 |
| 天津市达恩华天智能科技有限公司 |
| 企思(天津)科技有限公司 |
| 凯盛工业互联网平台 |
| 吕梁市医改监测平台 |
| 遂宁市经济大数据平台 |
| 临沂市城市大脑物联网统一认证平台 |

@ -1,11 +1,11 @@
{
"name": "maxkey",
"name": "YangLiu",
"version": "3.5.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "maxkey",
"name": "YangLiu",
"version": "3.5.0",
"license": "Apache-2.0",
"dependencies": {

@ -10,7 +10,7 @@
"bugs": {
"url": "https://gitee.com/dromara/MaxKey/issues"
},
"homepage": "https://www.maxkey.top",
"homepage": "https://www.maxkey.top1",
"license": "Apache-2.0",
"keywords": [
"maxkey",

@ -41,8 +41,8 @@ import { LayoutDefaultOptions } from '../../theme/layout-default';
<a href="#">
<img src="./assets/logo.png" alt="logo" style="height: 50px;height: 50px;float: left;" />
<div class="alain-default__header-title">
<span style="color: #000099;">Max</span>
<span style="color: #FFD700;">Key</span>
<span style="color: #000099;"></span>
<!--<span style="color: #FFD700;">Key</span>-->
{{ 'mxk.title' | i18n }}
</div>
</a>
@ -110,7 +110,7 @@ import { LayoutDefaultOptions } from '../../theme/layout-default';
</ng-template>
</layout-default>
<global-footer style="border-top: 1px solid #e5e5e5; min-height: 120px; text-shadow: 0 1px 0 #fff;margin:0;">
<div style="margin-top: 30px">
<div style="margin-top: 30px;display:none">
MaxKey {{ version }}<br />
Copyright
<i nz-icon nzType="copyright"></i> {{ copyrightYear }} <a href="//www.maxkey.top" target="_blank">http://www.maxkey.top</a><br />

@ -7,8 +7,8 @@
</div>
<div nz-col nzMd="10">
<div *ngIf="!inst.custom" class="title">
<span style="color: #000099">Max</span>
<span style="color: #ffd700">Key</span>
<span style="color:#000099"></span>
<!--<span style="color: #ffd700">Key</span>-->
{{ 'mxk.title' | i18n }}
</div>
<div *ngIf="inst.custom" class="title">{{ inst.title }}</div>
@ -28,7 +28,7 @@
</div>
<router-outlet></router-outlet>
<global-footer style="border-top: 1px solid #e5e5e5; min-height: 60px; text-shadow: 0 1px 0 #fff">
<div style="margin-top: 20px">
<div style="margin-top: 20px;display: none">
MaxKey {{ version }}<br />
Copyright
<i nz-icon nzType="copyright"></i>
@ -39,4 +39,4 @@
</global-footer>
</div>
</div>
<theme-btn></theme-btn>
<theme-btn></theme-btn>

@ -102,7 +102,7 @@
</button>
</nz-form-item>
</form>
<div class="other" *ngIf="loginType == 'normal'">
<div class="other" style="display: none" *ngIf="loginType == 'normal'">
{{ 'app.login.sign-in-with' | i18n }}
<ng-container *ngFor="let provd of socials.providers">
<i nz-tooltip nzTooltipTitle="{{ provd.providerName }}" (click)="socialauth(provd.provider)" nz-icon class="icon">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 117 KiB

@ -47,8 +47,8 @@ import { LayoutDefaultOptions } from '../../theme/layout-default';
width: 450px;
margin-top: 12px;"
>
<span style="color: #000099;">Max</span>
<span style="color: #FFD700;">Key</span>
<span style="color: #000099;"></span>
<!--<span style="color: #FFD700;">Key</span>-->
{{ 'mxk.title' | i18n }}
</div>
</a>
@ -119,7 +119,7 @@ import { LayoutDefaultOptions } from '../../theme/layout-default';
</ng-template>
</layout-default>
<global-footer style="border-top: 1px solid #e5e5e5; min-height: 120px; text-shadow: 0 1px 0 #fff;margin:0;">
<div style="margin-top: 30px">
<div style="margin-top: 30px;display: none">
MaxKey {{ version }}<br />
Copyright
<i nz-icon nzType="copyright"></i> {{ copyrightYear }} <a href="//www.maxkey.top" target="_blank">http://www.maxkey.top</a><br />

@ -2,7 +2,7 @@
<div nz-row style="border-bottom: 1px solid #e5e5e5; min-height: 60px; text-shadow: 0 1px 0 #fff">
<div nz-col nzMd="2"></div>
<div nz-col nzMd="2" style="text-align: right">
<img *ngIf="!inst.custom" style="margin-top: 6px" class="logo" src="../../../assets/logo.png" />
<img *ngIf="!inst.custom" style="margin-top: 6px" class="logo" src="./assets/logo.png" />
<img *ngIf="inst.custom" style="margin-top: 6px" class="logo" src="{{ inst.logo }}" />
</div>
<div nz-col nzMd="10">
@ -26,7 +26,7 @@
</div>
<router-outlet></router-outlet>
<global-footer style="border-top: 1px solid #e5e5e5; min-height: 60px; text-shadow: 0 1px 0 #fff">
<div style="margin-top: 20px">
<div style="margin-top: 20px;display: none">
MaxKey {{ version }}<br />
Copyright
<i nz-icon nzType="copyright"></i>

@ -102,9 +102,17 @@ maxkey.notices.visible =false
spring.datasource.type =com.alibaba.druid.pool.DruidDataSource
#mysql
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.username =${DATABASE_USER:root}
spring.datasource.password =${DATABASE_PWD:maxkey}
spring.datasource.url =jdbc:mysql://${DATABASE_HOST:localhost}:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.password =${DATABASE_PWD:Wang5322570.}
spring.datasource.url =jdbc:mysql://81.70.166.42:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
#spring.datasource.username =${DATABASE_USER:root}
#spring.datasource.password =${DATABASE_PWD:maxkey}
#spring.datasource.url =jdbc:mysql://${DATABASE_HOST:localhost}:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
#highgo
#spring.datasource.driver-class-name=com.highgo.jdbc.Driver
#spring.datasource.username=highgo

@ -1,5 +1,5 @@
global.title=MaxKey\u7EDF\u4E00\u8BA4\u8BC1\u7CFB\u7EDF
global.application=Max<span style="color: #FFD700;">Key</span>\u7EDF\u4E00\u8BA4\u8BC1\u7CFB\u7EDF
global.application=洋流
global.change.language=\u8BED\u8A00
global.change.language.en=English
global.change.language.zh=\u4E2D\u6587

@ -1,5 +1,5 @@
global.title=MaxKey Single sign-on System
global.application=Max<span style="color: #FFD700;">Key</span> Single sign-on System
global.title=YangLiu Single sign-on System
global.application=YangLiu
global.change.language=Language
global.change.language.en=English
global.change.language.zh=\u4e2d\u6587

@ -1,5 +1,6 @@
global.title=MaxKey\u7EDF\u4E00\u8BA4\u8BC1\u7CFB\u7EDF
global.application=Max<span style="color: #FFD700;">Key</span>\u7EDF\u4E00\u8BA4\u8BC1\u7CFB\u7EDF
global.application=洋流
global.change.language=\u8BED\u8A00\u9009\u62E9
global.change.language.en=English
global.change.language.zh=\u4E2D\u6587

@ -76,9 +76,17 @@ maxkey.login.jwt.issuer =${LOGIN_JWT_ISSUER:${maxkey.ser
spring.datasource.type =com.alibaba.druid.pool.DruidDataSource
#mysql
spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver
spring.datasource.username =${DATABASE_USER:root}
spring.datasource.password =${DATABASE_PWD:maxkey}
spring.datasource.url =jdbc:mysql://${DATABASE_HOST:localhost}:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.password =${DATABASE_PWD:Wang5322570.}
spring.datasource.url =jdbc:mysql://81.70.166.42:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
#spring.datasource.username =${DATABASE_USER:root}
#spring.datasource.password =${DATABASE_PWD:maxkey}
#spring.datasource.url =jdbc:mysql://${DATABASE_HOST:localhost}:${DATABASE_PORT:3306}/${DATABASE_NAME:maxkey}?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
#highgo
#spring.datasource.driver-class-name=com.highgo.jdbc.Driver
#spring.datasource.username=highgo

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -1,71 +0,0 @@
# Maxkey-web-app(React版本)
# 界面
登录页面
![image](https://user-images.githubusercontent.com/71813516/187018831-999a18f5-8245-4cc7-a8b8-5feac8c89030.png)
用户列表页面
![image](https://user-images.githubusercontent.com/71813516/187018865-b0ebd84d-1221-4912-86aa-0e515cee2af0.png)
个人页面
![image](https://user-images.githubusercontent.com/71813516/187018879-2982140e-00e1-4a03-b05d-6a9fdd411617.png)
忘记密码页面:
![image](https://user-images.githubusercontent.com/71813516/187018890-f3f7edfc-2271-4fa3-a719-947085888006.png)
# 📚使用指南
# Getting Started with Create React App
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
## Available Scripts
In the project directory, you can run:
### `npm start`
Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
The page will reload if you make edits.\
You will also see any lint errors in the console.
### `npm test`
Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
### `npm run build`
Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
### `npm run eject`
**Note: this is a one-way operation. Once you `eject`, you cant go back!**
If you arent satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point youre on your own.
You dont have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldnt feel obligated to use this feature. However we understand that this tool wouldnt be useful if you couldnt customize it when you are ready for it.
## Learn More
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
To learn React, check out the [React documentation](https://reactjs.org/).

File diff suppressed because it is too large Load Diff

@ -1,57 +0,0 @@
{
"name": "react-sdk",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"@types/crypto-js": "^4.1.1",
"@types/jest": "^27.5.2",
"@types/js-cookie": "^3.0.2",
"@types/node": "^16.11.47",
"@types/react": "^18.0.15",
"@types/react-dom": "^18.0.6",
"antd": "^4.22.3",
"axios": "^0.27.2",
"crypto-js": "^4.1.1",
"element-plus": "^2.2.12",
"element-react": "^1.4.34",
"element-theme-default": "^1.4.13",
"js-cookie": "^3.0.1",
"node-sass": "^7.0.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.3.0",
"react-scripts": "5.0.1",
"sass-loader": "^13.0.2",
"svg-sprite-loader": "^6.0.11",
"svgo-loader": "^3.0.1",
"typescript": "^4.7.4",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2020 JustAuth
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -1,16 +0,0 @@
# justauth-oauth-logo
justauth配套的第三方平台logo
# 使用方法
按照以下规则引用
```text
https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/[platform].png
```
其中的`[platform]`请替换为对应的平台名即可,比如:
- github: [https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/github.png](https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/github.png)
- gitee: [https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/gitee.png](https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/gitee.png)
- qq: [https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/qq.png](https://cdn.jsdelivr.net/gh/justauth/justauth-oauth-logo@1.2/qq.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

@ -1,16 +0,0 @@
<svg width="148px" height="123px" viewBox="0 0 148 123" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="页面2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="画板" transform="translate(-23.000000, -18.000000)" fill-rule="nonzero">
<g id="project|images|officialImages|LogoSingle.svg" transform="translate(23.000000, 17.000000)">
<g id="编组">
<path d="M117.435484,33.3870968 C115.023473,28.4605235 111.847099,23.9466438 108.024194,20.0129032 C98.2016129,9.84193548 84.45,3.29032258 69.3,1.56290323 C66.6398401,1.25811411 63.9646564,1.10303099 61.2870968,1.0983871 C58.8145161,1.0983871 56.2354839,1.24354839 53.6177419,1.52903226 C38.4048387,3.18387097 24.5758065,9.70645161 14.6806452,19.8774194 C10.8441754,23.7979536 7.65155149,28.3002882 5.22096774,33.2177419 C2.03101865,39.6503106 0.370100031,46.732812 0.367741935,53.9129032 C0.367741935,63.15 3.17419355,72.2516129 8.48709677,80.2451613 C11.1774194,84.2951613 15.5758065,89.3951613 19.6258065,92.9903226 L19.6258065,93 L17.7967742,107.390323 C17.7241935,107.583871 17.6467742,107.777419 17.6032258,107.985484 C17.5548387,108.174194 17.5451613,108.367742 17.5258065,108.56129 C17.516129,108.706452 17.4774194,108.851613 17.4774194,109.001613 C17.4774194,109.16129 17.516129,109.316129 17.5258065,109.475806 C17.7677419,111.841935 19.7419355,113.695161 22.1709677,113.695161 C23.0177419,113.695161 23.8016129,113.453226 24.483871,113.06129 L24.5516129,113.022581 C24.6483871,112.964516 24.7548387,112.91129 24.8516129,112.848387 L29.2209677,110.651613 L42.2370968,104.109677 C45.9575199,105.165173 49.7618794,105.898524 53.6080645,106.301613 C58.8239685,106.872291 64.0873438,106.857684 69.3,106.258065 C74.5393588,105.659015 79.6915375,104.454188 84.6532258,102.667742 C80.8972762,101.421323 78.5033695,97.7420971 78.8854839,93.8032258 C75.4016129,94.916129 71.7629032,95.7048387 67.9983871,96.1354839 C63.6329035,96.638617 59.2248234,96.651601 54.8564516,96.1741935 C54.4209677,96.1258065 53.9758065,96.0532258 53.5306452,95.9951613 C50.6180812,95.612724 47.7388136,95.0093719 44.9177419,94.1903226 C44.3387644,94.0066003 43.7348467,93.9135643 43.1274194,93.9145161 C42.1596774,93.9145161 41.2306452,94.1709677 40.2822581,94.6596774 C40.1564516,94.7274194 40.0403226,94.7806452 39.9145161,94.8532258 L29.2209677,101.158065 L28.7564516,101.433871 L28.7419355,101.43871 C28.5145161,101.574194 28.3790323,101.627419 28.2580645,101.627419 C27.8590835,101.616859 27.5434907,101.286135 27.5516129,100.887097 L27.9629032,99.2177419 L28.4370968,97.4032258 L29.2209677,94.4322581 L30.0870968,91.1129032 C30.6776916,89.2725956 30.0271836,87.2606953 28.4709677,86.1145161 C26.9072513,84.9531977 25.415776,83.6976437 24.0048387,82.3548387 C21.5854839,80.0564516 19.4564516,77.5451613 17.666129,74.8548387 C13.4612903,68.5258065 11.2403226,61.3451613 11.2403226,54.0822581 C11.2403226,48.45 12.5274194,42.9677419 15.0629032,37.7951613 C17.014735,33.8531533 19.5769492,30.2441709 22.6548387,27.1016129 C30.783871,18.7403226 42.2274194,13.3741935 54.8612903,12.0048387 C57.0580645,11.7629032 59.2209677,11.6419355 61.2870968,11.6419355 C63.4596774,11.6419355 65.7193548,11.7725806 68.0032258,12.0290323 C80.5790323,13.4612903 91.95,18.8516129 100.020968,27.2129032 C103.086423,30.3651735 105.634024,33.9824411 107.569355,37.9306452 C110.040269,42.9567097 111.32799,48.4816592 111.333871,54.0822581 C111.333871,54.6629032 111.3,55.2435484 111.270968,55.8241935 C114.600504,53.7738997 118.901935,54.2763005 121.669355,57.0387097 C121.814516,57.183871 121.930645,57.3387097 122.056452,57.4887097 C122.153226,56.2983871 122.206452,55.1080645 122.206452,53.9129032 C122.204449,46.7948574 120.572412,39.7718013 117.435484,33.3822581" id="路径" fill="#0082F0"></path>
<path d="M116.85,107.167742 C116.515161,107.090116 116.175786,107.033554 115.833871,106.998387 C110.249041,105.959649 105.157632,103.121647 101.337097,98.9177419 L101.337097,98.9225806 C100.792866,98.3923235 99.9973576,98.2118288 99.2775758,98.4552913 C98.5577941,98.6987537 98.0351928,99.3250923 97.9245944,100.076842 C97.8139959,100.828592 98.1340622,101.578905 98.7532258,102.019355 C98.9516129,102.212903 99.15,102.396774 99.3387097,102.590323 C102.992266,106.237598 105.481215,110.887117 106.490323,115.95 C106.524643,116.532635 106.620333,117.110024 106.775806,117.672581 C107.567251,120.587175 109.851933,122.859117 112.770907,123.634251 C115.689882,124.409386 118.800717,123.570225 120.933871,121.432258 C123.111899,119.251616 123.936577,116.061609 123.088281,113.098604 C122.239985,110.135599 119.852058,107.865347 116.85,107.167742" id="路径" fill="#FB6500"></path>
<path d="M144.890323,85.5145161 C142.581991,83.1994305 139.147161,82.4199612 136.065664,83.5119279 C132.984167,84.6038947 130.806538,87.3722084 130.470968,90.6241935 C129.435417,96.2110312 126.603032,101.306607 122.404839,105.135484 C121.858559,105.678126 121.66682,106.483386 121.90993,107.213988 C122.15304,107.944591 122.789034,108.47442 123.551531,108.581563 C124.314029,108.688705 125.07141,108.354666 125.506452,107.719355 L126.072581,107.133871 C129.712217,103.47598 134.357529,100.983209 139.417742,99.9725806 C139.998597,99.9396825 140.574362,99.8456138 141.135484,99.6919355 C144.04723,98.8902454 146.3136,96.6016232 147.086803,93.6821835 C147.860006,90.7627438 147.023547,87.6523484 144.890323,85.5145161" id="路径" fill="#0082F0"></path>
<path d="M109.016129,61.533871 C106.711697,63.8461867 105.937783,67.2752911 107.025691,70.3532234 C108.113598,73.4311557 110.870474,75.6122884 114.116129,75.9629032 C119.701081,77.0013027 124.792592,79.8393611 128.612903,84.0435484 C129.155545,84.5898282 129.960805,84.7815672 130.691408,84.5384571 C131.42201,84.2953471 131.951839,83.6593533 132.058982,82.8968556 C132.166125,82.134358 131.832086,81.3769774 131.196774,80.9419355 C127.225539,77.220145 124.518412,72.3490094 123.454839,67.0112903 C123.425147,66.4300883 123.331022,65.853979 123.174194,65.2935484 C122.380205,62.380948 120.095618,60.1113405 117.177858,59.3365285 C114.260097,58.5617166 111.150502,59.3988978 109.016129,61.533871" id="路径" fill="#2DBC00"></path>
<path d="M99.4016129,92.8548387 C99.4306452,92.6806452 99.4548387,92.516129 99.4741935,92.3419355 C100.511753,86.7533486 103.345677,81.6563634 107.545161,77.8258065 C108.12006,77.288992 108.333568,76.4686335 108.09331,75.7196646 C107.853052,74.9706958 107.202174,74.4276195 106.422283,74.3254015 C105.642392,74.2231836 104.873545,74.5801806 104.448387,75.2419355 C100.733282,79.2141715 95.8663584,81.9217784 90.5322581,82.983871 C89.9511384,83.020639 89.375441,83.11794 88.8145161,83.2741935 C85.9027702,84.0758837 83.6364004,86.3645058 82.8631973,89.2839455 C82.0899941,92.2033853 82.9264535,95.3137806 85.0596774,97.4516129 C87.3026293,99.6955914 90.6118149,100.497445 93.633158,99.529066 C96.6545011,98.5606868 98.8810051,95.9845735 99.4016129,92.8548387" id="路径" fill="#FFCC00"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

@ -1,121 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MaxKey</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title id="maxkey_title" name="description">MaxKey-IAM</title>
<meta http-equiv="description" content="MaxKey Single Sign-On">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<!-- Apple Touch Icon -->
<!-- <link rel="apple-touch-icon" href="custom-icon.png"> -->
<style type="text/css">
#preloader {
position: fixed;
top: 0;
left: 0;
z-index: 9999;
width: 100%;
height: 100%;
overflow: hidden;
background: #49a9ee;
transition: opacity .65s
}
.cs-loader {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
}
.cs-loader-inner {
position: absolute;
top: 50%;
width: 100%;
color: #fff;
text-align: center;
transform: translateY(-50%)
}
.cs-loader-inner label {
display: inline-block;
font-size: 20px;
opacity: 0
}
@keyframes lol {
0% {
transform: translateX(-300px);
opacity: 0
}
33% {
transform: translateX(0);
opacity: 1
}
66% {
transform: translateX(0);
opacity: 1
}
100% {
transform: translateX(300px);
opacity: 0
}
}
.cs-loader-inner label:nth-child(6) {
animation: lol 3s infinite ease-in-out
}
.cs-loader-inner label:nth-child(5) {
animation: lol 3s .1s infinite ease-in-out
}
.cs-loader-inner label:nth-child(4) {
animation: lol 3s .2s infinite ease-in-out
}
.cs-loader-inner label:nth-child(3) {
animation: lol 3s .3s infinite ease-in-out
}
.cs-loader-inner label:nth-child(2) {
animation: lol 3s .4s infinite ease-in-out
}
.cs-loader-inner label:nth-child(1) {
animation: lol 3s .5s infinite ease-in-out
}
</style>
</head>
<body>
<div id="root"></div>
<div id="preloader">
<div class="cs-loader">
<div class="cs-loader-inner">
<label> </label>
<label> </label>
<label> </label>
<label> </label>
<label> </label>
<label> </label>
</div>
</div>
</div>
<script>
const e=document.getElementById("preloader")
setTimeout(()=>{
e.style.display="none"
},2500)
</script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

@ -1,25 +0,0 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

@ -1,3 +0,0 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

@ -1,38 +0,0 @@
.App {
text-align: center;
}
.App-logo {
height: 40vmin;
pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #61dafb;
}
@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}

@ -1,9 +0,0 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import App from './App';
test('renders learn react link', () => {
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});

@ -1,16 +0,0 @@
import React from 'react';
import './App.scss';
//import Login from "./routes/Login"
import {useNavigate} from "react-router-dom"
function App() {
let navigate = useNavigate()
setTimeout(()=>{
navigate("passport/login",{replace:true})
},2500)
return (
<>
</>
)
}
export default App;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save