研討會自訂授權
功能路徑
我的直播 --> 频道设置-->参会条件设置-->自定义授权
功能介紹
開啟研討會參會頁時,直播系統會呼叫客戶系統的驗證介面,客戶自訂驗證邏輯,驗證通過後才能開啟保利威視研討會參會頁,並且介面回傳的參會帳號具有唯一性,即同一個帳號不能在兩個地方同時登入,較早登入的帳號會被踢出。
1、Secretkey:用於校驗簽名的產生
2、自訂URL: 用於自訂授權驗證的API介面
自訂授權流程詳解
1、在自訂URL處填寫使用者的授權驗證API介面,需要完整的不帶參數的url地址(不能是localhost等本地伺服器地址,且不能帶 ?號),如:http://myWebsite.com/auth
2、研討會系統會將id(研討會的頻道)、ts(當前時間的毫秒級時間戳)、sign(用於校驗的簽名)、url(回呼的url地址)等參數提交給使用者自訂的API介面,使用者需要對字串 參會人secretkey + id + 參會人secretkey + ts進行MD5加密後與sign參數的值做比較判斷是否合法。
3、通過校驗和自訂驗證邏輯後,客戶系統將userid(學員唯一識別,僅支援英文大小寫、數字和底線)、nickname(暱稱)、role(角色)、ts(當前時間的毫秒級時間戳)、param4、param5、sign(校驗簽名)等參數提交到回呼的url介面。
4、研討會系統會對簽名做校驗後判斷是否允許參會/主持。校驗通過後將進入研討會參會頁,聊天區域將顯示參會的暱稱。一次成功請求後,該連結將失效。
提交的參數描述
| 參數名 | 說明 |
|---|---|
| id | 研討會的頻道號 ,如: 10000 |
| ts | 當前時間的毫秒數長整型。如: 1466648001977 |
| sign | 用於校驗的簽名,產生的規則:對字串 參會人secretkey + id + 參會人secretkey + ts 進行MD5加密產生的字串 |
| url | 用於回呼url地址,使用者在通過校驗並處理後回跳到這個url |
研討會系統會將上面的參數提交給使用者自訂的api介面,使用者需要對字串 參會人secretkey + id + 參會人secretkey + ts進行MD5加密後與sign參數的值做比較判斷是否合法。
回呼的url的參數描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| ts | true | Long | 當前13位毫秒級時間戳,3分鐘內有效 |
| sign | true | String | 用於校驗的簽名,產生規則是directKey + channelId + directKey + ts進行MD5加密,sign校驗時不區分大小寫 |
| nickname | true | String | 參會暱稱,需要進行url安全的base64編碼 |
| role | true | String | 研討會參會的角色 host:主持人 attendee:參會人 |
| userid | false | String | 參會ID,需要保證唯一性(長度最大64位字元)(僅支援英文大小寫、數字和底線) |
| avatar | false | String | 參會頭像的url地址 |
| param4 | false | String | 統計參會觀看日誌的自訂參數,需要先進行base64加密後再進行urlencode |
| param5 | false | String | 統計參會觀看日誌的自訂參數,需要先進行base64加密後再進行urlencode |
通過第一步的校驗後使用者介面需要將上面相關的參數提交到回呼的url介面,系統會對簽名做校驗後判斷是否允許使用者參會。一次成功請求後,該連結將失效。
注意事項
1、要保證自訂驗證介面回傳的userid的唯一性,當多個參會者使用同一個userid進入參會時,較早登入的參會者會被後面登入的參會者踢出。
2、參會者的暱稱進行base64加密後再進行urlencode加密,否則可能會造成觀看頁暱稱顯示亂碼現象。
3、參會者的暱稱不能為空,否則保利威系統會取預設暱稱 遊客
4、主持人只能登入一個,主持人不能重複登入
