CAS
创建配置文件
{数据目录,默认/data/mingdao}/script/volume/sso/sso.json
,内容如下:{ "mode": "common-cas", "name": "cas", "cas": { "casUrl": "cas 服务器地址", "myserviceUrl": "明道云系统地址/orgsso", "casValidate": "/cas/serviceValidate", // 授权路径 "login": "/login", // 登录地址 "logout": "/logout", // 登出地址 "casParams": { "UserId": "{{&user}}", // 用户唯一标识,不能为空 "Name": "{{&attributes.name}}", // 姓名(仅 autoRegister 为 false 时可空) "Email": "{{&user}}@test.com" // Email(仅 autoRegister 为 false 时可空) }, "autoRegister": true, // 当账号不存在时,是否自动创建账号 "projectId": "明道云组织编号" // 从 组织管理 > 组织信息 页面获取 } }
当 autoRegister 设置为 false 时,创建
{数据目录,默认/data/mingdao}/script/volume/sso/extend.json
,内容如下:{ "relation": true }
{数据目录,默认/data/mingdao}/script/volume/wwwapi/appextensions.json
,内容如下:{ "AppSettings": { "EnableSsoLogoutRedirect": true } }
根据 cas 返回结果设置 casParams 中的映射字段,如:
<cas:serviceResponse xmlns:cas=\"http://www.yale.edu/tp/cas\"> <cas:authenticationSuccess> <cas:user>test</cas:user> <cas:attributes> <cas:name>Jack</cas:name> </cas:attributes> </cas:authenticationSuccess> </cas:serviceResponse>
则 casParams 的配置为:
"casParams": { "UserId": "{{&user}}", "Name": "{{&attributes.name}}", "Email": "{{&user}}@test.com" }
挂载配置文件
修改微服务应用对应的
docker-compose.yaml
,在volumes
中增加文件挂载并重启微服务应用。- ./volume/sso/sso.json:/usr/local/MDPrivateDeployment/sso/OptionFile/sso.json - ./volume/sso/extend.json:/usr/local/MDPrivateDeployment/sso/extend.json # 仅 autoRegister 为 false 时需要添加此行 - ./volume/wwwapi/appextensions.json:/usr/local/MDPrivateDeployment/wwwapi/appextensions.json
最后可通过 明道云系统访问地址/orgsso/sso?returnUrl={登录成功跳转地址,可空} 来进行单点登录