Link Search Menu Expand Document

CAS APIs

  1. CAS APIs
    1. /login
    2. /serviceValidate
    3. /logout

/login

GET ${baseUrl}/v1/cas/sso/{Client ID}/cas/login

/login接口是CAS协议的起点,CAS应用将用户重定向到该接口地址以获取登录应用的凭证。

注:/login接口URL中的 {Client ID} 请使用在XAuth中创建的CAS应用的 Client Id

用户浏览器请求该接口后,XAuth 对用户的登录状态进行判断,如果用户已经登录直接重定向到接收ticket的接口,如果未登录则将用户重定向到登录界面进行登录认证。

请求参数

参数 描述 参数类型 数据类型 是否必需
service CAS应用的标识,必须与在XAuth中配置的应用回调地址一致。 Query String

请求示例:

https://cipherchina0.xauth.cloud/cas/sso/457a0df498d3434bb886caaa64c009c9/cas/login?service=http://127.0.0.1/cas

响应示例

XAuth验证通过后,返回一个ticket

http://127.0.0.1/cas?ticket=ST-bPw_mfsxRRIsS9eqF6j7Xy6_

/serviceValidate

GET ${baseUrl}/v1/cas/sso/{Client ID}/cas/serviceValidate

/serviceValidate检查ticket票据的有效性并返回用户信息。

注:/serviceValidate接口URL中的 {Client ID} 请使用在XAuth中创建的CAS应用的 Client Id

参数 描述 参数类型 数据类型 是否必需
service CAS应用的标识,必须与在XAuth中配置的应用回调地址一致。 Query String
ticket 在上一步请求/login接口成功后返回的票据。 Query String
format 值是 XML 和 JSON,如果设置了此参数,则必须根据参数值生成验证响应;如果未设置此参数,将使用默认的 XML 格式。 Query String
该响应可以使用xml和json两种格式,format参数未指定时,默认使用xml格式

请求示例:

https://cipherchina0.xauth.cloud/cas/sso/457a0df498d3434bb886caaa64c009c9/cas/serviceValidate?ticket=ST-bPw_mfsxRRIsS9eqF6j7Xy6_&service=http://127.0.0.1/cas

响应示例:

xml格式:

<?xml version="1.0" encoding="UTF-8"?>
<cas:serviceResponseBase xmlns:cas="http://www.yale.edu/tp/cas">
    <cas:authenticationSuccess>
        <cas:user>username</cas:user>
        <cas:proxyGrantingTicket>PGTIOU-948a68b9014d4b23b294af2284d2efac</cas:proxyGrantingTicket>
        <cas:proxies/>
        <cas:attributes>
            <cas:mobilePhone>18612345678</cas:mobilePhone>
            <cas:updated_at/>
            <cas:displayName>姓名</cas:displayName>
            <cas:jobTitle/>
            <cas:employeeId/>
            <cas:email>mail@cipherchina.com</cas:email>
        </cas:attributes>
    </cas:authenticationSuccess>
</cas:serviceResponseBase>

json格式:

{
  "serviceResponse" : {
    "authenticationSuccess" : {
      "user" : "username",
      "proxyGrantingTicket" : "PGTIOU-948a68b9014d4b23b294af2284d2efac",
      "attributes":{
        "mobilePhone":"18612345678",
        "displayName":"姓名",
        "email":"mail@cipherchina.com"
      }
    }
  }
}

/logout

GET ${baseUrl}/v1/cas/sso/cas/logout

/lgout用于销毁客户端的CAS单点登录会话。

参数 描述 参数类型 数据类型 是否必需
service 如果指定了service参数,则在执行注销后,浏览器会自动重定向到service指定的URL。 Query String

请求示例:

https://cipherchina0.xauth.cloud/cas/sso/cas/logout?service=http://127.0.0.1

响应示例:

<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
     ID="[RANDOM ID]" Version="2.0" IssueInstant="[CURRENT DATE/TIME]">
    <saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
      @NOT_USED@
    </saml:NameID>
    <samlp:SessionIndex>[SESSION IDENTIFIER]</samlp:SessionIndex>
</samlp:LogoutRequest>`