SAML认证接口
认证请求
前三种(HTTP-POST、HTTP-Redirect、HTTP-POST-SimpleSign)由用户发起认证请求,携带SAMLRequest参数, 然后跳转到登录界面。认证成功后重定向回调地址并返回用户信息,若回调地址返回方式为"HTTP-Artifact", 则不会直接返回用户信息,而是工件引用,需要通过该工件来获取用户信息。
1.HTTP-POST
请求⽅式: POST(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/idp/profile/SAML2/POST/SSO
注:https方式类似。
请求参数:
form表单post请求
SAMLRequest:samlRequest
RelayState:xxx
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
SAMLRequest | 是 | AuthnRequest,包含标识、回调地址等信息,此处为Base64编码后的结果 |
RelayState | 否 | 不作处理,原样返回 |
返回结果:
{
"SAMLResponse":"xxx",
"RelayState":"xxx",
}
或
返回SAMLart和RelayState,示例:
http://192.168.54.48:8082/sp/artifact?SAMLart=AAQAAVWSwVOV5q7CaiwPq0Q1sW1Hgl58cFOyYKwNknRd1jfyTETAiOmEmzA%3D&RelayState=hello
参数说明:
参数 | 说明 |
---|---|
SAMLResponse | 认证成功后返回的表单,包含时间、签发者、用户信息等,此处为Base64编码 |
RelayState | 若发送的请求有该参数则返回 |
SAMLart | 若“回调地址返回方式”为 HTTP-Artifact 时,则返回工件的引用 |
2.HTTP-POST-SimpleSign
请求⽅式: POST/GET(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/idp/profile/SAML2/POST-SimpleSign/SSO
注:https方式类似。
请求参数:
form表单post请求
SAMLRequest:samlRequest
RelayState:xxx
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
SAMLRequest | 是 | 同HTTP-POST,base64编码 |
RelayState | 否 | 不作处理,原样返回 |
返回结果:
{
"SAMLResponse":"xxx",
"RelayState":"xxx",
}
或
返回SAMLart和RelayState,示例:
http://192.168.54.48:8082/sp/artifact?SAMLart=AAQAAVWSwVOV5q7CaiwPq0Q1sW1Hgl58cFOyYKwNknRd1jfyTETAiOmEmzA%3D&RelayState=hello
参数说明:
参数 | 说明 |
---|---|
SAMLResponse | 认证成功后返回的表单,包含时间、签发者、用户信息等,此处为Base64编码 |
RelayState | 若发送的请求有该参数则返回 |
SAMLart | 若“回调地址返回方式”为 HTTP-Artifact 时,则返回工件的引用 |
3.HTTP-Redirect
请求⽅式: GET(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/idp/profile/SAML2/Redirect/SSO
注:https方式类似。
请求参数:
http://sso.xxx.example.com/idp/profile/SAML2/Redirect/SSO?SAMLRequest=samlRequest
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
SAMLRequest | 是 | 同上,此处为Deflate+base64编码,然后url编码 |
RelayState | 否 | 同上 |
返回结果:
{
"SAMLResponse":"xxx",
"RelayState":"xxx",
}
或
返回SAMLart和RelayState,示例:
http://192.168.54.48:8082/sp/artifact?SAMLart=AAQAAVWSwVOV5q7CaiwPq0Q1sW1Hgl58cFOyYKwNknRd1jfyTETAiOmEmzA%3D&RelayState=hello
参数说明:
参数 | 说明 |
---|---|
SAMLResponse | 认证成功后返回的表单,包含时间、签发者、用户信息等,此处为Base64编码 |
RelayState | 若发送的请求有该参数则返回 |
SAMLart | 若“回调地址返回方式”为 HTTP-Artifact 时,则返回工件的引用 |
4.HTTP-Artifact
获取工件引用后走SOAP通道获取用户信息,而不通过浏览器获取。
请求⽅式: SOAP(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/idp/profile/SAML1/SOAP/ArtifactResolution
注:https方式类似。
请求参数:
SOAP通道
ArtifactResolve:xxx
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
ArtifactResolve | 是 | 包含工件引用,签名等信息 |
返回结果:
ArtifactResponse:xxx
参数说明:
参数 | 说明 |
---|---|
ArtifactResponse | 包含SAMLResponse |
查看metadata
请求⽅式: GET(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/idp/metadata
注:https方式类似。
请求示例:
http://ljw.sso.rghall.com.cn/idp/metadata
登出
请求⽅式: GET(HTTPS或HTTP)
请求地址: http://sso.xxx.example.com/logout
注:https方式类似。
请求示例:
http://ljw.sso.rghall.com.cn/logout