保利威文档中心

幫助中心

講師單點登入

更新時間:2024-10-21 09:33:43

功能介紹

單點登入可以實現直接登入既有系統,免登入操作進入互動學堂後台,進行直播相關設定。

適用場景

互動學堂單點登入到講師上課頁面

介面流程

设置登录token --> 在讲师登录地址加上登录token和老师Id --> 上课页面

1、設定token

介面描述

1、讲师单点登录设置token接口
2、(timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议

介面URL

http://api.polyv.net/hi-class-api/open/teach/v1/set-token

請求方式

POST

介面限制

1、介面同時支援HTTP、HTTPS,建議使用HTTPS確保介面安全,介面呼叫有頻率限制,詳細請查看

請求參數描述

參數名 必選 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 當前13位毫秒級時間戳記,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值【詳見簽名產生規則

請求體參數描述

參數名 必選 類型 說明
teacherId true String 講師Id(teacherId)
token true String 單點登入token,一次性有效,過期時間一個小時

範例

http://api.polyv.net/hi-class-api/open/teach/v1/set-token?appId=frlr1zazn3&sign=6387F30E550150DD7A1AB11376137A6E&timestamp=1634631207876

請求體參數

{
    "teacherId": "g3fdl05syf",
    "token": "269gH563903OSUwylnAT"
}

回應參數描述

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
error Error 錯誤物件【詳見全域錯誤說明
data Object 請求成功或失敗時為空 【詳見data欄位描述

data欄位描述

參數名 類型 說明
status Boolean 成功:true,失敗:false

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入到自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

private static final Logger log = LoggerFactory.getLogger(VClassSSOTest.class);
/**
 * 讲师单点登录
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void tokenLogin() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId = super.appId;
    String appSecret = super.appSecret;
    String timestamp = String.valueOf(System.currentTimeMillis());
    
    //业务参数
    String url = "http://api.polyv.net/hi-class-api/open/teach/v1/set-token";
    String teacherId = "g3fdl05syf";
    String token = getRandomString(20);
    
    //http 调用逻辑
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    
    Map<String, Object> jsonMap = new HashMap<>();
    jsonMap.put("teacherId", teacherId);
    jsonMap.put("token", token);
    
    url = HttpUtil.appendUrl(url, requestMap);
    String response = HttpUtil.postJsonBody(url, JSON.toJSONString(jsonMap), null);
    log.info("测试讲师单点登录成功:{}", response);
    //do somethings
}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例

{
    "code": 200,
    "status": "success",
    "requestId": "5bc5c3a4a88a487192cb0256b1dadb7f.97.16346312121920507",
    "data": null,
    "success": true
}

異常範例

{
    "code": 400,
    "status": "error",
    "data": "",
    "error":{"code":xx,"desc":"错误描述"}
}

2、拼接位址登入

直接登入

透過上面API設定講師登入token之後,拼接位址如下:

https://s.vclass.com/live-web-hi-class/teacher/tokenLogin?teacherId=xxxx&token=ssss&lessonId=101

URL參數描述

參數名 必選 類型 說明
teacherId true String 講師Id(teacherId)
token true String 單點登入token,一次性有效,過期時間一個小時
lessonId false Integer 非必傳參數,如果有傳這個參數可以跳轉到對應的課節,不傳,預設顯示課節列表

回應說明

正常登入後直接進入講師頁面

異常登入頁面會有相關提示

联系客服,在线咨询