How to SSO via SUST API

v1.0 编写:张诚

本系统采用非对称加密形式完成数据对接,采用 openssl 生成 RSA 公私钥进行数据加解密。对接流程如下:

1 获取公密

在学工系统上注册,由学工部信息科提供。需要提供应用名称、应用地址、需要的 Api 名称,其中应用地址在测试阶段不做要求,上线后需用。

2 获取应用 id

应用注册完成后,会同步生成应用编号,该文本将成为 ClientId。

3 对接接口

系统的统一登录 API 接口为:

访问方式:POST 方式

4 对接流程

通过构造参数形式,系统将统一从以下域名链接发起请求(GET 形式):

https://yiban.sust.edu.cn/xgb/index.php/openapi/api/login?ClientId=1e968d647bc1b6215&其他参数
(其他参数可以提前联系好,便于第三方做逻辑判断)

系统会自动重定向到 ClientId 对应的 Url 上,并加上含有学生或教师信息的密文,并把原参数全部带上。

例如 Url 填写为 https://www.abc.com/yanzheng.html,则会重定向到:

https://www.abc.com/yanzheng.html?AuthStr=XXXXXXX&ClientId=1e968d647bc1b6215&其他参数

此时在服务器 https://www.abc.com/yanzheng.html 上,通过 https 的 POST 形式发送 AuthStr 和 ClientId 到:

https://yiban.sust.edu.cn/xgb/index.php/openapi/api/login

服务上,将会解析出该用户的姓名和学号(工号)信息。

  • SID 为目前登录的学生学号;

  • TID 为目前登录的教师工号。

测试阶段,可能获取 SID 和 TID 均为空,上线后将按照逻辑返回数据。