Skip to content

SAML 集成

应用系统将原有的用户登录认证代码修改为:当检查到用户未登录时,转发用户的登录请求到统一身份管理系统的 SAML 单点登录地址。

统一身份管理系统完成用户认证操作后,调用应用系统提供的回调地址,发送身份认证结果。应用系统分析认证结果,判断是否允许用户登录。

应用配置

在统一身份管理系统,需要为第三方应用配置下列信息:

  • 回调地址:用于接收用户认证结果
  • 证书信息:用于验证 SAML 请求的数字签名,保证消息的真实性、完整性。
  • 认证地址:转发用户登录请求的地址
  • 应用标识:应用系统在统一身份管理系统中的注册标识
  • 身份格式:用于指明身份标识的格式

接口说明

方式1:基于API单点登录

URL 请求路径和方法

Path: /idp/saml/sso

Method: GET

HTTP 请求

查询参数:

字段属性是否必须描述
SAMLRequestSAML 请求数据业务系统(客户端)发起的 SAML 登录请求
http
SAMLRequest=fVJBbtswEPwKsXeKNB3LCmE5cGIENZC2Rqz00BtNrRMCEqlwKbf9fSU7BtJDfSJAzuzMznBx97tt2BEjueBLmGQSGHobaudfS3ipHnkBjJLxtWmCxxJ8gLvlgkzbdHrVpzf%2FjO89UmLDHE%2F69FBCH70Ohhxpb1oknazerb4%2BaZVJ3cWQgg0NsBURxjQIPwRPfYtxh%2FHoLL48P5XwllJHWghn2qwJr3tDmFmv51JKQZ2wHxRg60HdeZNOC%2FyHVchiLkznxHEyHJ0wo3Ph6k6MhgVRALZZlzCbKJvXmPPbwyznNyq3vJiqA5%2Bqwpr97AYPeT4giXrc%2BDGWVIKSSnF5y%2BW8kjM9nWilsjwvfgLbfmx67%2Fw5z2ux7M8g0l%2Bqasu333cVsB%2BXXgYAnFPXJ%2FH4Ke7rY80lY1iqhfg04VLit4GyWW9D4%2Bwftmqa8OshoklD1Sn2COwxxNak6yLjjav54QTV3eiaEvoEYnnW%2FPevLP8C

HTTP 响应

响应头(Header):

字段是否必须描述
content-typeapplication/json;charset=UTF-8NO

响应体(Body):

字段类型描述
flagboolean是否成功
codestring返回码
messagestring返回消息
dataobject返回数据

响应示例:

json
{
  "flag": true,
  "code": "0x0000",
  "message": "成功",
  "data": {}
}

方式2:基于门户单点登录

用户登录安全门户,点击应用图标。统一身份管理系统验证用户登录请求,构建 SAML 响应,发送给第三方应用。第三方应用需验证 SAML 响应的有效性。在有效性验证通过后,从 SAML 响应中提取用户身份信息,打开应用首页。

URL 请求路径和方法

Path: [第三方应用接口]

Method: GET

HTTP 请求

查询参数:

字段属性是否必须描述
SAMLResponseSAML 响应数据第三方应用接收的 SAML 登录响应
http
SAMLRequest=fVJBbtswEPwKsXeKNB3LCmE5cGIENZC2Rqz00BtNrRMCEqlwKbf9fSU7BtJDfSJAzuzMznBx97tt2BEjueBLmGQSGHobaudfS3ipHnkBjJLxtWmCxxJ8gLvlgkzbdHrVpzf%2FjO89UmLDHE%2F69FBCH70Ohhxpb1oknazerb4%2BaZVJ3cWQgg0NsBURxjQIPwRPfYtxh%2FHoLL48P5XwllJHWghn2qwJr3tDmFmv51JKQZ2wHxRg60HdeZNOC%2FyHVchiLkznxHEyHJ0wo3Ph6k6MhgVRALZZlzCbKJvXmPPbwyznNyq3vJiqA5%2Bqwpr97AYPeT4giXrc%2BDGWVIKSSnF5y%2BW8kjM9nWilsjwvfgLbfmx67%2Fw5z2ux7M8g0l%2Bqasu333cVsB%2BXXgYAnFPXJ%2FH4Ke7rY80lY1iqhfg04VLit4GyWW9D4%2Bwftmqa8OshoklD1Sn2COwxxNak6yLjjav54QTV3eiaEvoEYnnW%2FPevLP8C

HTTP 响应

如果第三方应用验证 SAML 响应数据成功,则返回应用首页。

单点登出

URL 请求路径和方法

Path

/api/v2/app/authn/logout/${uid}/$

Method

POST

HTTP 请求

路径参数

字段属性是否必须描述
uid用户名当前登录用户的用户名
jti短令牌当前登录用户的短令牌

请求头

字段属性是否必须描述
jti短令牌当前登录用户的短令牌

示例

http
https://localhost:8000/api/v2/app/authn/logout/admin/5c6550cd-d9b9-4676-88f0-945f993d0a3b

HTTP 响应

响应

json
{
  "flag":true,
  "code":"0x0000",
  "message":"成功",
  "data":null
}

登出日志

登录安全控制台,访问审计管理-->用户登出,查看用户登出日志信息。