diff --git a/任务/今日任务.md b/任务/今日任务.md index d4fae56..787ca2b 100644 --- a/任务/今日任务.md +++ b/任务/今日任务.md @@ -13,10 +13,28 @@ - [X] github ci/cd 文档发布 ## 20241219 - 20241227 -- [Okta](https://www.okta.com/) -- [CAS 单点登录部署](https://blog.csdn.net/xu_guo_jie/article/details/104209452) -- [集成文档参考](https://docs.authing.cn/v2/integration/?category=all&page=2) -- [ ] Soular 平台部署 +- [X] Soular 平台部署 +- [X] 调研SSO(查看能效平台调研) +- [X] 开源知识库 + - [BookStack](https://gitee.com/dromara/zyplayer-doc) + - 支持代码高亮 + - 支持图标插件 + - + - Affine + - [zyplayer-doc](https://gitee.com/dromara/zyplayer-doc) +- [ ] 开源支持SSO的管理后台 +- [ ] 开源 IAM + - [keycloak](https://blog.csdn.net/qq_31532979/article/details/140794828) + - [Keycloak Doc](https://keycloak.java.net.cn/guides) +- [X] Keycloak 集成 LDAP +- [X] jenkins 整合 Keycloak 实现 SSO + +- [ ] 企业微信登录集成(产研平台) +- [ ] SSO 技术方案编写 +- [ ] Gitlab webhook merge 集成企业微信推送 +- [ ] Keycloak 集成企微登录可能性调研 + - [使用企业微信登录Keycloak](https://www.kkzxak47.com/2019/07/30/%E4%BD%BF%E7%94%A8%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E7%99%BB%E5%BD%95keycloak/) + - [Keycloak开发](https://wener.me/notes/service/auth/keycloak/dev) ## 20241216 - 20241220 - [X] Track123 对接 diff --git a/任务/周报.md b/任务/周报.md new file mode 100644 index 0000000..e2b1733 --- /dev/null +++ b/任务/周报.md @@ -0,0 +1,15 @@ +## 20241216-20241220 + +- [X] 能效平台调研 + - [调研报告](http://confluence.qifu.com/pages/viewpage.action?pageId=38507017) +- [X] 能效平台门户搭建 + - http://10.168.2.234:9999/ + - admin/Admin123456 +- [X] Confluence 知识库支持绘图 + - ![](https://picture.texous.cn/blog/20241220100602538.png) +- [X] 现有工具库 SSO 支持调研 + - http://confluence.qifu.com/pages/viewpage.action?pageId=38507017 +- [X] tiklab 本地搭建及演示 + - [Tiklab](https://github.com/tiklab-project) +- [X] Keycloak 集成 LDAP(验证完成) +- [X] jenkins 整合 Keycloak 实现 SSO(验证完成) \ No newline at end of file diff --git a/方案/20241220-效能平台单点登录整合.md b/方案/20241220-效能平台单点登录整合.md new file mode 100644 index 0000000..ac9b8c5 --- /dev/null +++ b/方案/20241220-效能平台单点登录整合.md @@ -0,0 +1,48 @@ +# 效能平台调研 + +## SSO 支撑调研 +### 一些参考 +- [Okta](https://www.okta.com/) +- [CAS 单点登录部署](https://blog.csdn.net/xu_guo_jie/article/details/104209452) +- [集成文档参考](https://docs.authing.cn/v2/integration/?category=all&page=2) +- [CAS Server](https://github.com/apereo/cas) +- [CAS 整合 LDAP](https://www.doc88.com/p-0774845211878.html) +- [CAS](https://zhuanlan.zhihu.com/p/610470663) +- [OIDC](https://zhuanlan.zhihu.com/p/539297736) +- [LDAP](https://zhuanlan.zhihu.com/p/608437013) +- [IAM单点登录之CAS协议分析](https://zhuanlan.zhihu.com/p/627920220) +- [Keycloak](https://www.keycloak.org/) + +### 平台调研 +- [X] 已有平台 SSO 调研 + - Gitlab SSO + - [SAML](https://docs.gitlab.com/ee/integration/saml.html) + - Jenkins SSO + - 安装插件 SAML + - [整合Keycloak教程](https://github.com/jenkinsci/saml-plugin/blob/main/doc/CONFIGURE_KEYCLOAK.md) + - Confluence SSO + - [SAML](https://www.selinux.tech/architecture/cas/cas-gitlab) + - kubesphere SSO + - [OIDC](https://blog.csdn.net/zpf17671624050/article/details/144296801) + - kibana SSO + - [SAML](https://docs.authing.cn/v2/integration/) + - grafana SSO + - [配置](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/) + - [配置参考](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/) + - Skywalking SSO + - [CAS](https://blog.csdn.net/qq_42536474/article/details/108669351)\ + - Nacos SSO + - 暂时不支持,可以搞插件开发 + - Graylog + - [需要plugin支持,并且不支持新版本](https://community.graylog.org/t/single-sign-on-authentication-plugin/22804) + - Yarning sso + - [OIDC](https://github.com/cookieY/Yearning/pull/608) + - Harbor + - [OIDC](https://docs.authing.cn/v2/integration/harbor/) + - Nexus sonatype SSO + - [Nexus sonatype](https://help.sonatype.com/en/user-authentication.html) + - [SAML](https://help.sonatype.com/en/saml.html) + +### 建议 +- 部署自己的 [CAS 服务](https://github.com/apereo/cas) +- 集成各个服务 diff --git a/方案/20241224-元盟全域SSO方案.md b/方案/20241224-元盟全域SSO方案.md new file mode 100644 index 0000000..f8aa8e4 --- /dev/null +++ b/方案/20241224-元盟全域SSO方案.md @@ -0,0 +1,134 @@ + + + + + + + + + + + + + +# 元盟全域SSO方案 + +## 一、现状 + +### 业务背景 + +为了统一账号登录,减少由于平台账号密码不同导致的割裂。 +采用统一的SSO,使用企微进行登录,方便开发人员各平台使用,减少各个平台的割裂 + +## 二、需求 + +### 业务需求 + +需要统一的SSO方案来达到一个账户或者企微账户直接登录的效果 + +## 三、设计目标 + +### 实现的功能 + +- 通过企业微信登录各个平台 +- 平台列表 + - Gitlab + - Jenkins + - Confluence + - kubesphere + - kibana + - grafana + - Skywalking + - Nacos + - Graylog + - Yarning + - Harbor + - Nexus sonatype + - 产研协同平台 + +## 四、整体设计 + +### 整体架构 + +![](https://picture.texous.cn/blog/20241224121425565.png) + +### 交互流程 + +![](https://picture.texous.cn/blog/20241224142653277.png) + +## 五、详细设计 + +### 功能模块设计 + +- 产研协同平台 + - 对接 keycloak 实现企微登录 + - 方案一: + - 企赋网关对接 Keycloak + - 产研协同平台对接企赋网关 + - 方案二: + - 产研协同平台直接对接 Keycloak + +- Jenkins SSO(已验证) + - 安装插件 SAML:插件市场直接安装 + - [整合Keycloak教程](https://github.com/jenkinsci/saml-plugin/blob/main/doc/CONFIGURE_KEYCLOAK.md) +- Gitlab SSO + - [SAML](https://docs.gitlab.com/ee/integration/saml.html) +- Confluence SSO + - [SAML](https://www.selinux.tech/architecture/cas/cas-gitlab) +- kubesphere SSO + - [OIDC](https://blog.csdn.net/zpf17671624050/article/details/144296801) +- kibana SSO + - [SAML](https://docs.authing.cn/v2/integration/) +- grafana SSO + - [配置](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/) + - [配置参考](https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/) +- Skywalking SSO + - [CAS](https://blog.csdn.net/qq_42536474/article/details/108669351) +- Nacos SSO + - 暂时不支持,可以搞插件开发 +- Graylog + - [需要plugin支持,并且不支持新版本](https://community.graylog.org/t/single-sign-on-authentication-plugin/22804) +- Yarning sso + - [OIDC](https://github.com/cookieY/Yearning/pull/608) +- Harbor + - [OIDC](https://docs.authing.cn/v2/integration/harbor/) +- Nexus sonatype SSO + - [Nexus sonatype](https://help.sonatype.com/en/user-authentication.html) + - [SAML](https://help.sonatype.com/en/saml.html) + +### 潜在风险 + +## 六、工作量和排期 + +### 开发时间 + +### 联调时间 + +### 提测时间 + +### 上线时间 + +## 七、设计评审意见 + +## 八、参考文档 + +- [Okta](https://www.okta.com/) +- [CAS 单点登录部署](https://blog.csdn.net/xu_guo_jie/article/details/104209452) +- [集成文档参考](https://docs.authing.cn/v2/integration/?category=all&page=2) +- [CAS Server](https://github.com/apereo/cas) +- [CAS 整合 LDAP](https://www.doc88.com/p-0774845211878.html) +- [CAS](https://zhuanlan.zhihu.com/p/610470663) +- [OIDC](https://zhuanlan.zhihu.com/p/539297736) +- [LDAP](https://zhuanlan.zhihu.com/p/608437013) +- [IAM单点登录之CAS协议分析](https://zhuanlan.zhihu.com/p/627920220) +- [Keycloak](https://www.keycloak.org/) +- [Keycloak OIDC](https://www.keycloak.org/securing-apps/oidc-layers) \ No newline at end of file diff --git a/绘图/20241224-元盟全域SSO方案.excalidraw b/绘图/20241224-元盟全域SSO方案.excalidraw new file mode 100644 index 0000000..75d7971 --- /dev/null +++ b/绘图/20241224-元盟全域SSO方案.excalidraw @@ -0,0 +1,1336 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw-jetbrains-plugin", + "elements": [ + { + "id": "2t6yj8H63gE1XzJ8_xIJV", + "type": "image", + "x": 487.35858585858534, + "y": -4336.223992682122, + "width": 57.81814852627845, + "height": 53.85800136694431, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 908779440, + "version": 248, + "versionNonce": 1892162992, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408448, + "link": null, + "locked": false, + "status": "pending", + "fileId": "b3e59785996597eb6bbf71e9f2b39938c3fa3c4a", + "scale": [ + 1, + 1 + ] + }, + { + "id": "79G9P6yCF9relNkqLEe4P", + "type": "rectangle", + "x": 699.5404206863554, + "y": -4554.405788669338, + "width": 242.18178488991452, + "height": 549.0909784490414, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 543319984, + "version": 225, + "versionNonce": 1619678128, + "isDeleted": false, + "boundElements": null, + "updated": 1735013599375, + "link": null, + "locked": false + }, + { + "id": "y_ADX3TCtirKHAoXiemPx", + "type": "rectangle", + "x": 746.8131479590827, + "y": -4522.405819186916, + "width": 152.00001109730118, + "height": 50.9090909090919, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1064177584, + "version": 217, + "versionNonce": 45743952, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "z8S6FlyUqXzETmpXDTJGX" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "z8S6FlyUqXzETmpXDTJGX", + "type": "text", + "x": 789.173184635663, + "y": -4509.45127373237, + "width": 67.27993774414062, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1212661168, + "version": 144, + "versionNonce": 885959504, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "Jenkins", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "y_ADX3TCtirKHAoXiemPx", + "originalText": "Jenkins", + "lineHeight": 1.25 + }, + { + "id": "UWLpesQjmwV3sd8GSQlnM", + "type": "rectangle", + "x": 747.3586357964407, + "y": -4443.314910096007, + "width": 152.00001109730118, + "height": 50.9090909090919, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 679918416, + "version": 297, + "versionNonce": 493116848, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "HKCGvWzFOAd26EfyV00iG" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "HKCGvWzFOAd26EfyV00iG", + "type": "text", + "x": 793.2486636229233, + "y": -4430.360364641461, + "width": 60.21995544433594, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 349266352, + "version": 237, + "versionNonce": 41730384, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "Gitlab", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "UWLpesQjmwV3sd8GSQlnM", + "originalText": "Gitlab", + "lineHeight": 1.25 + }, + { + "id": "LkByzevQRhmVxRiUibJuF", + "type": "rectangle", + "x": 748.6313852637702, + "y": -4363.496739375127, + "width": 152.00001109730118, + "height": 53.909107555043185, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 946860368, + "version": 400, + "versionNonce": 534615376, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "NKtSUEBNLnw33eEc29McD" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "NKtSUEBNLnw33eEc29McD", + "type": "text", + "x": 764.6313908124208, + "y": -4349.042185597606, + "width": 120, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002343344, + "version": 376, + "versionNonce": 1576539984, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "产研协同平台", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "LkByzevQRhmVxRiUibJuF", + "originalText": "产研协同平台", + "lineHeight": 1.25 + }, + { + "id": "SoZrMKjT9yaWn3Qt0C3po", + "type": "rectangle", + "x": 750.631451847577, + "y": -4277.133103011491, + "width": 152.00001109730118, + "height": 53.909107555043185, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 733342128, + "version": 451, + "versionNonce": 107816880, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "QmbULy4uYG46GuuAiAia1" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "QmbULy4uYG46GuuAiAia1", + "type": "text", + "x": 795.2214766223018, + "y": -4262.6785492339695, + "width": 62.81996154785156, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 37407056, + "version": 434, + "versionNonce": 462990672, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "Kibana", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "SoZrMKjT9yaWn3Qt0C3po", + "originalText": "Kibana", + "lineHeight": 1.25 + }, + { + "id": "ltEhJGpvlsaAxVaYe51k4", + "type": "rectangle", + "x": 752.6314629448782, + "y": -4190.042205017883, + "width": 152.00001109730118, + "height": 53.909107555043185, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1934568784, + "version": 499, + "versionNonce": 1075735376, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "f6jTjV-Yofiy7QdhM5b5X" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "f6jTjV-Yofiy7QdhM5b5X", + "type": "text", + "x": 780.8615099974351, + "y": -4175.587651240362, + "width": 95.5399169921875, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 243339184, + "version": 482, + "versionNonce": 1152811856, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "Skywalking", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "ltEhJGpvlsaAxVaYe51k4", + "originalText": "Skywalking", + "lineHeight": 1.25 + }, + { + "id": "FIquzvscpGVe3ZF5vehHT", + "type": "rectangle", + "x": 752.4496891522647, + "y": -4100.042205017883, + "width": 152.00001109730118, + "height": 53.909107555043185, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 523466672, + "version": 555, + "versionNonce": 667726256, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "glzNgjzrICgtz94ueqZcK" + } + ], + "updated": 1735013599376, + "link": null, + "locked": false + }, + { + "id": "glzNgjzrICgtz94ueqZcK", + "type": "text", + "x": 812.0097075182981, + "y": -4085.587651240362, + "width": 32.879974365234375, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 967121744, + "version": 559, + "versionNonce": 2007603536, + "isDeleted": false, + "boundElements": null, + "updated": 1735013408449, + "link": null, + "locked": false, + "text": "......", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "FIquzvscpGVe3ZF5vehHT", + "originalText": "......", + "lineHeight": 1.25 + }, + { + "id": "04TyIPZaF8yI6BlkERsd4", + "type": "ellipse", + "x": 1081.8482662551048, + "y": -4374.1945083763585, + "width": 189.09079811789772, + "height": 135.99997780539707, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1084225360, + "version": 298, + "versionNonce": 1202968912, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "8CzkdET0AlNTXsBhfLrAb" + } + ], + "updated": 1735013582945, + "link": null, + "locked": false + }, + { + "id": "8CzkdET0AlNTXsBhfLrAb", + "type": "text", + "x": 1134.1000082150492, + "y": -4318.777772747368, + "width": 84.87992858886719, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1040653136, + "version": 370, + "versionNonce": 1365316528, + "isDeleted": false, + "boundElements": null, + "updated": 1735013512488, + "link": null, + "locked": false, + "text": "KeyCloak", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "04TyIPZaF8yI6BlkERsd4", + "originalText": "KeyCloak", + "lineHeight": 1.25 + }, + { + "id": "t6AQjzXTu4UeS8vIghLtu", + "type": "ellipse", + "x": 1342.876758600188, + "y": -4565.4054958451225, + "width": 77.8182705965912, + "height": 62.090875799005445, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1915760560, + "version": 285, + "versionNonce": 1616270768, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "7laPYSNXMriqp84CvW-39" + } + ], + "updated": 1735013567386, + "link": null, + "locked": false + }, + { + "id": "7laPYSNXMriqp84CvW-39", + "type": "text", + "x": 1361.772980478954, + "y": -4546.812497609264, + "width": 40, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 581514160, + "version": 243, + "versionNonce": 1998516560, + "isDeleted": false, + "boundElements": null, + "updated": 1735013437919, + "link": null, + "locked": false, + "text": "微信", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "t6AQjzXTu4UeS8vIghLtu", + "originalText": "微信", + "lineHeight": 1.25 + }, + { + "id": "y44XW1IyGwrcAuASEt0Rl", + "type": "ellipse", + "x": 1376.149519164819, + "y": -4486.314642240718, + "width": 138.90919078480113, + "height": 114.9091131036929, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 430190416, + "version": 384, + "versionNonce": 925310288, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "lymKw_Px5cXp67U0UVV-T" + } + ], + "updated": 1735013567386, + "link": null, + "locked": false + }, + { + "id": "lymKw_Px5cXp67U0UVV-T", + "type": "text", + "x": 1425.492299170685, + "y": -4441.486592236748, + "width": 40, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1702178224, + "version": 332, + "versionNonce": 292478288, + "isDeleted": false, + "boundElements": null, + "updated": 1735013437919, + "link": null, + "locked": false, + "text": "企微", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "y44XW1IyGwrcAuASEt0Rl", + "originalText": "企微", + "lineHeight": 1.25 + }, + { + "id": "SLU6POv9RFYp1ySq_HNnk", + "type": "ellipse", + "x": 1382.3084212090278, + "y": -4231.793033081575, + "width": 138.90919078480113, + "height": 114.9091131036929, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eaddd7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1843126096, + "version": 490, + "versionNonce": 856898992, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "tf3QEVhNH5FFdy082DEpz" + } + ], + "updated": 1735013577769, + "link": null, + "locked": false + }, + { + "id": "tf3QEVhNH5FFdy082DEpz", + "type": "text", + "x": 1424.6912173892104, + "y": -4186.964983077605, + "width": 53.91996765136719, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1439727024, + "version": 442, + "versionNonce": 1113915312, + "isDeleted": false, + "boundElements": null, + "updated": 1735013446884, + "link": null, + "locked": false, + "text": "LDAP", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "SLU6POv9RFYp1ySq_HNnk", + "originalText": "LDAP", + "lineHeight": 1.25 + }, + { + "id": "dnAYuDMMR2zJZ88KFvNUN", + "type": "ellipse", + "x": 1532.3085876685445, + "y": -4166.156602861405, + "width": 93.81824840198882, + "height": 85, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eaddd7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 894470576, + "version": 665, + "versionNonce": 688698704, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "afa0AtsDTGLFFbabllxqT" + } + ], + "updated": 1735013577769, + "link": null, + "locked": false + }, + { + "id": "afa0AtsDTGLFFbabllxqT", + "type": "text", + "x": 1559.0479520474937, + "y": -4148.708641061833, + "width": 40, + "height": 50, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1830431056, + "version": 579, + "versionNonce": 445436848, + "isDeleted": false, + "boundElements": null, + "updated": 1735013446884, + "link": null, + "locked": false, + "text": "自有\n用户", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 43, + "containerId": "dnAYuDMMR2zJZ88KFvNUN", + "originalText": "自有用户", + "lineHeight": 1.25 + }, + { + "id": "8eYne05yUoOG0xCjjQ3MW", + "type": "ellipse", + "x": 1407.7631331230903, + "y": -4095.7928888166616, + "width": 127.27283824573874, + "height": 101.72723943536947, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#eaddd7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1616138576, + "version": 782, + "versionNonce": 1128269744, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "r3CYp_S3WEfqZfMFzmhYv" + } + ], + "updated": 1735013577769, + "link": null, + "locked": false + }, + { + "id": "r3CYp_S3WEfqZfMFzmhYv", + "type": "text", + "x": 1435.1518469007221, + "y": -4057.3952795170453, + "width": 72.49992370605469, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 986721200, + "version": 747, + "versionNonce": 30386096, + "isDeleted": false, + "boundElements": null, + "updated": 1735013446884, + "link": null, + "locked": false, + "text": "Kerbros", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "8eYne05yUoOG0xCjjQ3MW", + "originalText": "Kerbros", + "lineHeight": 1.25 + }, + { + "id": "MZcHpUBIq0kQQFquAKljb", + "type": "ellipse", + "x": 1449.4226126484834, + "y": -4602.132804638622, + "width": 112.00006658380704, + "height": 85, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 215534512, + "version": 414, + "versionNonce": 140517296, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "zzUYeZbSrxKp_sPazR1Zm" + } + ], + "updated": 1735013567386, + "link": null, + "locked": false + }, + { + "id": "zzUYeZbSrxKp_sPazR1Zm", + "type": "text", + "x": 1473.244671339533, + "y": -4572.184842839049, + "width": 64.15994262695312, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1655637840, + "version": 413, + "versionNonce": 833866064, + "isDeleted": false, + "boundElements": null, + "updated": 1735013437919, + "link": null, + "locked": false, + "text": "Google", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "MZcHpUBIq0kQQFquAKljb", + "originalText": "Google", + "lineHeight": 1.25 + }, + { + "id": "l4VDDSkCsdNrBNC3rXORY", + "type": "ellipse", + "x": 1548.8769583516082, + "y": -4426.314628369091, + "width": 93.0909312855114, + "height": 54.4545399058943, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 78620080, + "version": 798, + "versionNonce": 1157034832, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ORwM2hWVGVxnfG7d-125l" + } + ], + "updated": 1735013567386, + "link": null, + "locked": false + }, + { + "id": "ORwM2hWVGVxnfG7d-125l", + "type": "text", + "x": 1569.2198239481477, + "y": -4411.33994563307, + "width": 52.57997131347656, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 466275664, + "version": 912, + "versionNonce": 514700624, + "isDeleted": false, + "boundElements": null, + "updated": 1735013437919, + "link": null, + "locked": false, + "text": "SAML", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "l4VDDSkCsdNrBNC3rXORY", + "originalText": "SAML", + "lineHeight": 1.25 + }, + { + "id": "J0t1imm92E8U09deV7K5N", + "type": "ellipse", + "x": 1529.0591760362674, + "y": -4510.8601661443045, + "width": 119.27279385653429, + "height": 69.72728382457353, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e9ecef", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 863005520, + "version": 612, + "versionNonce": 1621141936, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "5UYFnw6GO7XX6rb0f8Ml1" + } + ], + "updated": 1735013567386, + "link": null, + "locked": false + }, + { + "id": "5UYFnw6GO7XX6rb0f8Ml1", + "type": "text", + "x": 1561.5762906015711, + "y": -4488.648841845055, + "width": 53.89996337890625, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1251652016, + "version": 617, + "versionNonce": 1864147280, + "isDeleted": false, + "boundElements": null, + "updated": 1735013437919, + "link": null, + "locked": false, + "text": "OIDC", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 18, + "containerId": "J0t1imm92E8U09deV7K5N", + "originalText": "OIDC", + "lineHeight": 1.25 + }, + { + "id": "o4O0mmiocMhDxOwVpcS7X", + "type": "arrow", + "x": 598.4472794530027, + "y": -4309.9800333284375, + "width": 68.91806939367939, + "height": 1.1882246009108712, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 513441616, + "version": 46, + "versionNonce": 1426068912, + "isDeleted": false, + "boundElements": null, + "updated": 1735013499230, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 68.91806939367939, + -1.1882246009108712 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "BpOVCkpUEiM_BziQOsiJj", + "type": "arrow", + "x": 975.6143471173358, + "y": -4304.733022387806, + "width": 71.26444753531871, + "height": 2.0483334006812584, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1104273328, + "version": 274, + "versionNonce": 770179504, + "isDeleted": false, + "boundElements": null, + "updated": 1735013519443, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 71.26444753531871, + -2.0483334006812584 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "40bDocComDzgHNLL-QR7L", + "type": "arrow", + "x": 1349.2166049953476, + "y": -4385.0394518929215, + "width": 52.312814729657475, + "height": 26.46951029980937, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1386291120, + "version": 460, + "versionNonce": 397657424, + "isDeleted": false, + "boundElements": null, + "updated": 1735013533529, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -52.312814729657475, + 26.46951029980937 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "zVlMODwgsjqyTl_7h2EO-", + "type": "arrow", + "x": 1340.2047394135957, + "y": -4202.744165089066, + "width": 70.13645571049847, + "height": 30.56617710117189, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 1239331152, + "version": 626, + "versionNonce": 596185520, + "isDeleted": false, + "boundElements": null, + "updated": 1735013549480, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -70.13645571049847, + -30.56617710117189 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "IflDJ1PCJiPM9zLvk637e", + "type": "text", + "x": 962.3613226607308, + "y": -4661.344869437954, + "width": 118.8399658203125, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#e7f5ff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 187696560, + "version": 66, + "versionNonce": 1763037616, + "isDeleted": false, + "boundElements": null, + "updated": 1735013636055, + "link": null, + "locked": false, + "text": "全域SSO方案", + "fontSize": 20, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "baseline": 18, + "containerId": null, + "originalText": "全域SSO方案", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/绘图/20241224-元盟全域SSO流程.svg b/绘图/20241224-元盟全域SSO流程.svg new file mode 100644 index 0000000..2673d50 --- /dev/null +++ b/绘图/20241224-元盟全域SSO流程.svg @@ -0,0 +1,4 @@ + + + +
SSO流程
SSO流程
用户
用户
开始
开始
扫码确认
扫码确认
结束
结束
开始
开始
结束
结束
结束
结束
Jenkins
Jenkins
访问
访问
已登录
已登录
后置处理
后置处理
后置处理
后置处理
Gitlab
Gitlab
访问
访问
已登录
已登录
后置处理
后置处理
Keycloak
Keycloak
跳转
跳转
登录界面
登录界面
选择企微
选择企微
完善信息
完善信息
跳转
跳转
跳转
跳转
已登录
已登录
已登录
已登录
完善
信息
完善 信息
重复流程
重复流程
企微
企微
跳转
跳转
二维码
二维码
重定向
重定向
访问
jenkins
访问 jenkins
Text is not SVG - cannot display
\ No newline at end of file