CAS
第三方应用客户端集成CAS Demo演示程序
PHP代码: https://github.com/SmartSchoolAI/SchoolDataCenter/tree/main/htdocs/api/cas/client 流程说明:
第三方客户端的示例地址: $CAS_CLIENT = "http://localhost:8888/api/cas/client";
第三方客户端, 用户未登录的时候, 需要跳转到以下地址 $CAS_REDIRECT = "https://demoapi.dandian.net/cas?service=".$CAS_CLIENT;
如果用户没有登录CAS服务器, 则会弹出登录界面 如果用户已经登录, 则会自动跳转到回调地址, 并且会自动增加一个ticket参数
第三方客户端的程序在拿到ticket参数以后, 再加上第三方客户端的地址, 进行API接口调用来获取用户信息.
访问路径: $URL = $CAS_VALIDATE."?service=".$CAS_CLIENT."&ticket=".$ticket;
返回的用户信息分为两种类型, 学生和教职工.
教职工主要字段:
$userData = [];
$userData['id'] = 用户唯一ID; //这个值不是用户名, 这个值有可能跟学生的ID值重复
$userData['USER_ID'] = 用户名;
$userData['USER_NAME'] = 用户姓名;
$userData['EMAIL'] = 电子邮件;
$userData['DEPT_ID'] = 部门ID;
$userData['DEPT_NAME'] = 部门名称;
$userData['PRIV_NAME'] = 角色名称;
$userData['USER_PRIV'] = 角色ID;
$userData['avatar'] = 头像路径;
$userData['username'] = 用户名;
$userData['email'] = 电子邮件;
$userData['role'] = 角色ID;
$userData['type'] = "User"; //此值表示是教职工
$RS['userData'] = $userData;
$RS['id'] = 用户唯一ID;
$RS直接返回为JSON结构
学生主要字段:
$userData = [];
$userData['id'] = 学生唯一ID; //这个值不是用户名, 这个值有可能跟教职工的ID值重复
$userData['USER_ID'] = 学号;
$userData['USER_NAME'] = 姓名;
$userData['学号'] = 学号;
$userData['姓名'] = 姓名;
$userData['班级'] = 班级;
$userData['专业'] = 专业;
$userData['系部'] = 系部;
$userData['PRIV_NAME'] = 角色名称;
$userData['avatar'] = 头像路径;
$userData['username'] = 学号;
$userData['role'] = "角色";
$userData['type'] = "Student"; //此值表示是学生
$RS['userData'] = $userData;
$RS['id'] = 学生唯一ID;
$RS直接返回为JSON结构
API 接口说明
validate.php
作用:把ticket转为用户信息 URL: https://demoapi.dandian.net/api/cas/validate.php 方法:GET 返回:[ 'id' => $id, .... ]; validate.php 源代码: https://github.com/SmartSchoolAI/SchoolDataCenter/blob/main/htdocs/api/cas/validate.php
系统截图
系统截图
最后更新于