服务集成说明
本文档介绍如何将 SERVICEME NEXT 应用与其他网站或 SSO(单点登录)服务 进行集成,实现跨系统的统一身份认证与无缝访问。
1. 基本流程
服务集成的整体流程如下:
-
在 SERVICEME NEXT 登录页配置登录按钮(可选)
- 用于在产品登录页中展示单点登录入口。
-
跳转至自定义 SSO 前端页面
- 处理与客户系统的登录逻辑(如用户信息获取、生物认证拉起等)。
-
访问自定义 SSO 后端接口
- 完成与 SERVICEME 后端的交互,如统一用户注册、签发 Token 等。
-
重定向回 SERVICEME NEXT 登录页
- 通过携带 Token 跳转回 SERVICEME NEXT,实现自动登录。
流程图示意:

2. 具体操作说明
2.1 登录页单点登录按钮配置
此步骤为 可选项,当你希望在登录页提供“自定义登录”按钮时,可以在环境变量中添加配置。
进入 SERVICEME NEXT 环境变量管理 页面,在 SSO_LOGIN_CONFIG 中配置如下内容:
{
"type": "Custom",
"code": "my-custom-sso",
"config": {
"LOGIN_BUTTON_I18N_KEY": "login.sso.custom.login",
"LOGIN_URL": "/custom-login",
"APP_ID": "BskGfSXPNt5AfQXMO6b1M"
}
}
配置完成后,登录页会显示一个按钮,点击后跳转至目标链接:
https://<frontend-deploy-host>/custom-login?code=my-custom-sso&APP_ID=BskGfSXPNt5AfQXMO6b1M
如需自定义挂载页面,请参阅 产品前端自定义挂载静态资源指南 - Overview。
2.2 自定义开发单点登录页面
LOGIN_URL 对应的页面即为定制化登录页,该页面需要实现以下逻辑:
- 与客户 SSO 系统进行认证交互;
- 与自定义 SSO 后端进行信息同步;
- 获取 Token 后,重定向至 SERVICEME NEXT 登录路由。
重定向格式如下:
https://<frontend-deploy-host>/login-token?token=<new-jwt-token>
SERVICEME 前端会验证该 Token 的可信性,通过后即可登录系统。
请确保 JWT Token 为有效 Token,并由合法 Client 签发。
2.3 自定义开发 SSO 后端
自定义 SSO 后端主要负责用户 Token 签发与账户管理。
签发依赖 Client ID + Secret,请先在 SERVICEME 后台创建 Client。
相关接口包括:
- 用户接口:查询、创建、更新用户,支持用户名、邮箱、工号搜索;
- 第三方登录接口:管理第三方账户绑定;
- Client 接口:签发 Token(忽略可信域字段);
- 角色/组织接口:用于角色与部门同步。
2.4 挂载自定义开发前后端服务
SERVICEME NEXT 前端镜像提供了两个挂载点:
| 挂载路径 | 说明 |
|---|---|
/etc/nginx/custom_conf | 挂载自定义 Nginx 配置 |
/usr/share/nginx/static | 挂载自定义静态资源(前端页面) |
2.4.1 挂载自定义前端页面
将自定义的 HTML 页面放置在:
/usr/share/nginx/static/app2/
并在 custom.conf 中添加以下内容:
location /app2 {
root /usr/share/nginx/static/;
index index.html index.htm index.shtml;
try_files $uri $uri/ /index.html;
if ($request_filename ~* .*\.html$) {
add_header Cache-Control "no-cache, no-store";
}
}
运行容器时挂载目录:
docker run -p 80:80 \
-v ./custom.conf:/etc/nginx/custom_conf/custom.conf \
-v ./static:/usr/share/nginx/static \
servicemerelease.azurecr.io/serviceme-frontend:4.0.0
2.4.2 挂载自定义后端服务
假设自定义后端服务位于内网地址 http://delivery-backend,
想在前端 /custom-backend/ 路径下访问,可在 custom.conf 添加如下配置:
location /custom-backend/ {
proxy_pass http://delivery-backend/;
proxy_connect_timeout 240s;
proxy_read_timeout 240s;
proxy_send_timeout 240s;
proxy_buffering off;
}
结语
通过以上步骤,即可实现 SERVICEME NEXT 与企业内部系统的无缝集成,
支持单点登录(SSO)、用户统一认证、以及灵活的前后端自定义扩展。