1. 什么是单点登录?
单点登录(Single Sign-On,简称 SSO)是一种身份验证解决方案。
单点登录允许用户在多个相互信任的应用系统中,只需登录一次即可访问所有关联的系统。
-
传统模式:访问 A 系统要登一次,访问 B 系统要再登一次,用户需要记住多套账号密码。
-
SSO 模式:用户只需在统一的认证中心(IdP)登录一次,即可无缝切换至所有授权的应用。
2. BMC单点登录使用
2.1 创建单点登录Token
URL:https://device_ip/UI/Rest/SSOHandler
操作类型:POST
请求参数:
响应说明:
| 字段 | 字段说明 | 类型 |
|---|---|---|
| ret | 返回状态码 0表示正常返回 | String |
| token | String(可选) |
请求体示例:
{
"username": "test3",
"password": "Admin@90000",
"ip": "76.76.16.199",
"logtype": "local",
"function": "addtoken"
}
响应体示例:
{
"token": "3f0761709d3c1cb9e935132d0c2035e8f2eb5754f35427079a3f85ece5342a76",
"ret": "0"
}
2. 通过SSO token登录web
URL:https://device_ip/UI/Rest/SSOHandler
操作类型:GET
请求参数说明
| 参数 | 参数说明 | 类型 | 必选/可选 |
|---|---|---|---|
| token | String (1, 128) | 可选 | |
| redirect | String (“index”, “console”) | 可选 | |
| kvmmode | String (“dedicate”, “share”) | 可选 | |
| openWay 或 openway | String (“html5”, “java”) | 可选 | |
| lang | String (1-6位数字和字母) | 可选 | |
| prefix | String (“/v1/bmcPage/#/home”) | 可选 |
请求示例:
https://{device_ip}/UI/Rest/SSOHandler?redirect=index&lang=zh&openway=html5&token=3f0761709d3c1cb9e935132d0c2035e8f2eb5754f35427079a3f85ece5342a76
3. SSO会话
-
创建sso token后,60秒后token过期
-
开启SSO会话IP校验,开启后sso 登录ip必须与创建sso token的ip参数保持一致
URL: /redfish/v1/SessionService
操作类型:PATCH
修改属性**:Oem/{OemIdentifier}/ValidateSsoClient**
请求示例:
{
"Oem":{
"openUBMC":{
"ValidateSsoClient": true
}
}
}