基于 CAS 协议完成统一身份认证成功后,将携带应用申请时需要返回的属性,供应用端使用。

Cas 服务响应 XML 内容如下:

<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
     <cas:authenticationSuccess>
         <cas:user>mr100758</cas:user>
         <cas:attributes>
             <cas:infoId>1782646895357755392</cas:infoId>
             <cas:gender>1</cas:gender>
             <cas:orgList>[{&quot;orgId&quot;:1781203561347432450,&quot;orgType&quot;:&quot;node_school&quot;,&quot;orgCode&quot;:&quot;330108060002&quot;,&quot;orgName&quot;:&quot;天音测试小学&quot;,&quot;stageCode&quot;:&quot;211&quot;,&quot;campusList&quot;:[{&quot;orgId&quot;:1781203562983211009,&quot;orgCode&quot;:&quot;33010806000201&quot;,&quot;orgName&quot;:&quot;天音测试小学&quot;},{&quot;orgId&quot;:1783373046791684098,&quot;orgCode&quot;:&quot;33010806000202&quot;,&quot;orgName&quot;:&quot;天音多校区测试小学2&quot;},{&quot;orgId&quot;:1783754135544676353,&quot;orgCode&quot;:&quot;33010806000203&quot;,&quot;orgName&quot;:&quot;天音多校区测试小学3&quot;},{&quot;orgId&quot;:1785169957806817281,&quot;orgCode&quot;:&quot;33010806000204&quot;,&quot;orgName&quot;:&quot;天音测试小学4&quot;}],&quot;identityList&quot;:[{&quot;userId&quot;:1782646895655550978,&quot;identityId&quot;:1,&quot;identityName&quot;:&quot;教职工&quot;,&quot;infoId&quot;:1782646895357755392}],&quot;roleList&quot;:[{&quot;orgId&quot;:1781203561347432450,&quot;roleId&quot;:&quot;8&quot;,&quot;roleCode&quot;:&quot;js_000008&quot;,&quot;roleName&quot;:&quot;教职工&quot;}],&quot;identityId&quot;:1}]</cas:orgList>
             <cas:childList>[{&quot;accountId&quot;:1781224602786103298,&quot;account&quot;:&quot;bts06123233&quot;,&quot;userId&quot;:1781224602257620994,&quot;id&quot;:1781224602144374784,&quot;xm&quot;:&quot;白塔寺&quot;,&quot;xbm&quot;:&quot;1&quot;,&quot;xsdqztm&quot;:&quot;1&quot;,&quot;xxdm&quot;:&quot;330108060002&quot;,&quot;xxmc&quot;:&quot;天音测试小学&quot;,&quot;xxbxlxm&quot;:&quot;211&quot;,&quot;xqdm&quot;:&quot;33010806000201&quot;,&quot;xqmc&quot;:&quot;天音测试小学&quot;,&quot;nj&quot;:&quot;11&quot;,&quot;njmc&quot;:&quot;一年级&quot;,&quot;bh&quot;:&quot;202302110101&quot;,&quot;bjmc&quot;:&quot;01班&quot;}]</cas:childList>
             <cas:type>password</cas:type>
             <cas:xsId>1781224602144374784</cas:xsId>
             <cas:orgId>1781203561347432450</cas:orgId>
             <cas:loginTime>1715117492</cas:loginTime>
             <cas:nickname>马瑞</cas:nickname>
             <cas:longTermAuthenticationRequestTokenUsed>false</cas:longTermAuthenticationRequestTokenUsed>
             <cas:email></cas:email>
             <cas:clientIpAddress>115.193.187.209</cas:clientIpAddress>
             <cas:isFromNewLogin>false</cas:isFromNewLogin>
             <cas:authenticationDate>2024-05-07T21:31:44.957+08:00[Asia/Shanghai]</cas:authenticationDate>
             <cas:avatarUrl></cas:avatarUrl>
             <cas:successfulAuthenticationHandlers>LoginAuthenticationHandler</cas:successfulAuthenticationHandlers>
             <cas:xsUserId>1781224602257620994</cas:xsUserId>
             <cas:xqOrgId>1781203562983211009</cas:xqOrgId>
             <cas:userId>1782646895655550978</cas:userId>
             <cas:credentialType>LoginCredential</cas:credentialType>
             <cas:accountId>1782646897865949186</cas:accountId>
             <cas:authenticationMethod>LoginAuthenticationHandler</cas:authenticationMethod>
             <cas:identityId>3</cas:identityId>
             <cas:account>mr100758</cas:account>
             </cas:attributes>
     </cas:authenticationSuccess>
 </cas:serviceResponse>

Assertion 对象 JSON 序列化结构如下:

{
    "attributes": {
    },
    "authenticationDate": "1715088719697",
    "principal": {
        "attributes": {
            "clientIpAddress": "115.193.187.209",
            "infoId": "1782646895357755392",
            "isFromNewLogin": "false",
            "gender": "1",
            "authenticationDate": "2024-05-07T21:31:44.957+08:00[Asia/Shanghai]",
            "avatarUrl": "",
            "successfulAuthenticationHandlers": "LoginAuthenticationHandler",
            "xsUserId": "1781224602257620994",
            "xqOrgId": "1781203562983211009",
            "orgList": "[{\"orgId\":1781203561347432450,\"orgType\":\"node_school\",\"orgCode\":\"330108060002\",\"orgName\":\"天音测试小学\",\"stageCode\":\"211\",\"campusList\":[{\"orgId\":1781203562983211009,\"orgCode\":\"33010806000201\",\"orgName\":\"天音测试小学\"},{\"orgId\":1783373046791684098,\"orgCode\":\"33010806000202\",\"orgName\":\"天音多校区测试小学2\"},{\"orgId\":1783754135544676353,\"orgCode\":\"33010806000203\",\"orgName\":\"天音多校区测试小学3\"},{\"orgId\":1785169957806817281,\"orgCode\":\"33010806000204\",\"orgName\":\"天音测试小学4\"}],\"identityList\":[{\"userId\":1782646895655550978,\"identityId\":1,\"identityName\":\"教职工\",\"infoId\":1782646895357755392}],\"roleList\":[{\"orgId\":1781203561347432450,\"roleId\":\"8\",\"roleCode\":\"js_000008\",\"roleName\":\"教职工\"}],\"identityId\":1}]",
            "childList": "[{\"accountId\":1781224602786103298,\"account\":\"bts06123233\",\"userId\":1781224602257620994,\"id\":1781224602144374784,\"xm\":\"白塔寺\",\"xbm\":\"1\",\"xsdqztm\":\"1\",\"xxdm\":\"330108060002\",\"xxmc\":\"天音测试小学\",\"xxbxlxm\":\"211\",\"xqdm\":\"33010806000201\",\"xqmc\":\"天音测试小学\",\"nj\":\"11\",\"njmc\":\"一年级\",\"bh\":\"202302110101\",\"bjmc\":\"01班\"}]",
            "type": "password",
            "userId": "1782646895655550978",
            "xsId": "1781224602144374784",
            "orgId": "1781203561347432450",
            "credentialType": "LoginCredential",
            "accountId": "1782646897865949186",
            "loginTime": "1715117492",
            "authenticationMethod": "LoginAuthenticationHandler",
            "identityId": "3",
            "nickname": "马瑞",
            "longTermAuthenticationRequestTokenUsed": "false",
            "email": "",
            "account": "mr100758"
        },
        "name": "mr100758"
    },
    "valid": "true",
    "validFromDate": "1715088719697"
}

属性对照表如下:

字段英文 字段类型 中文名称
loginType string 登录方式(password:账号密码、dingtalk-scancode:钉钉扫码登录)
loginTime integer(int64) 登录时间戳
account string 账号
accountId integer(int64) 账号ID
accountStatus integer 账号状态(0:禁用
userId integer(int64) 用户ID
userName string 用户名
userCode string 用户的唯一标识(工号、教职工号、学生号)(学/工号)
userStatus integer 用户状态(0:禁用
nickname string 别名(昵称)
avatarUrl string 头像:图片路径或图标样式
phone string 手机号码
email string 电子邮箱
gender integer 性别:(1:男,2:女)
clientIpAddress string 客户端IP地址
childAccountList json 关联的孩子信息列表,List<UserChildProfileVO> 的 JSON 字符串
orgList json 所属组织机构列表,List<UserOrgVO> 的 JSON 字符串
orgId integer(int64) 当前使用的学校组织机构ID
xqOrgId integer(int64) 当前使用的校区组织机构ID
identityId integer(int64) 当前使用的身份类型(1:系统管理员、2:学校管理员、3:普通老师、4:学生、5:家长、6:开发者、7:访客)
roleId integer(int64) 当前使用的角色ID
xsId integer(int64) 当前选中的学生ID
xsUserId integer(int64) 当前选中的学生用户ID
Schema 属性:

UserChildProfileVO

参数名称 参数说明 类型 schema
accountId 孩子的账号ID integer(int64)
account 孩子的账号 string
userId 账号关联用户ID integer(int64)
id 学生ID integer(int64) 1781224602144374784
xm 学生姓名 string
xh 学生学号 string
zp 学生照片 string
xbm 性别码(1:男,2:女) string
xsdqztm 学生状态码(1:在校,2:休学,3:毕业,4:退学,5:区内,6:区外,7:离校,9:其他) string
xxdm 学校代码 string 330108060002
xxmc 学校名称 string
xxbxlxm 学校办学类型码(111:幼儿园,211:小学,311:初级中学,312:九年一贯制学校,342:高级中学,365:职业高中,513:培智学校,999:合作机构,998:直属单位,997:机关科室,341:完全中学) string
xqdm 校区代码 string 33010806000201
xqmc 校区名称 string
nj 年级 string
njmc 年级名称 string
bh 班号 string
bjmc 班级名称 string

UserOrgVO

参数名称 参数说明 类型 schema
orgId 组织机构ID(专指机构树的ID) integer(int64)
orgType 组织机构类型(教育局/事业单位/学校) string
orgCode 组织机构代码(教育局编码/单位编码/学校代码) string
orgName 组织机构名称 string
stageCode 组织对应学校办学类型码(111:幼儿园,211:小学,311:初级中学,312:九年一贯制学校,342:高级中学,365:职业高中,368:职业初中,513:特殊学校,999:其他机构) integer
campusList 用户在该学校/组织机构下拥有的校区 json List<UserCampusVO> 的 JSON 字符串
identityList 用户在该学校/组织机构下拥有的身份 json List<UserIdentityVO> 的 JSON 字符串
roleList 用户在该学校/组织机构下拥有的角色 json List<UserRoleVO> 的 JSON 字符串

UserCampusVO

参数名称 参数说明 类型 schema
orgId 组织机构ID(专指校区的组织机构ID) integer(int64)
orgCode 组织机构代码(校区代码) string
orgName 组织机构名称(校区名称) string

UserIdentityVO

参数名称 参数说明 类型 schema
identityId 身份类型 integer(int64)
identityName 身份名称 string

UserRoleVO

参数名称 参数说明 类型 schema
roleId 角色Id integer(int64)
roleCode 角色编码 string
roleName 角色名称 string
作者:Jeebiz  创建时间:2022-10-20 17:30
最后编辑:Jeebiz  更新时间:2024-05-07 21:35