您好,登錄后才能下訂單哦!
客戶端調用流媒體服務器接口,首先要做的是身份認證,認證通過后才可以調用流媒體服務器的接口。
服務器和客戶端通過“挑戰->應答”方式(challenge-response)進行身份認證交互,在這個過程中,客戶端需要調用兩次接口向服務器證明身份。認證過程中不需要傳遞密碼,密碼用于簽名驗證。
身份認證的過如下:
1)客戶端使用“用戶名”作為參數調用“login1”接口,向服務器發出身份認證請求
1.1)服務器確認用戶是否是有效的用戶:
1.2)若不是,則不做進一步處理,返回錯誤信息
1.3)若是,服務器產生一個“隨機數(挑戰字符串)”發送給客戶端
2)客戶端使用“用戶密碼”和“隨機數(挑戰字符串)”作為輸入,按約定的算法生成一個hash值,用該hash值作為 調用“login2”接口的參數,請求login2接口。
2.1)服務器用收到的hash值與自己的計算結果比較,若二者相同,則通過認證;否則,認證失敗
2.2)若認證通過,服務器返回“token”給客戶端,否者返回錯誤信息。
userAuth/?request=login1&username=admin
{
"code":0,
"err_desc":"auha3gik9m48l1mh"
}
code 等于0,表示用戶有效,此時 err_desc 的內容是返回的挑戰字符串(challenge_code)。
code 不等于0,其他值表示錯誤,此時 err_desc 的內容是錯誤描述。
返回的挑戰字符(challenge_code)串用于下一步認證。
userAuth/?request=login2&username=admin&hash=8c96202be3da1b23a96c4c838eb34d93
hash=md5(md5(password)+challenge_code)
{
"code":0,
"err_desc":"g2ow17rfyf4nxbkg"
}
code 0 表示登錄成功,此時 err_desc 的內容是token值,用于后續接口的通信認證。
code >0 其他值表示錯誤,此時 err_desc 的內容是錯誤描述。
userAuth/?request=logout&token=vvkphp5ca79c538n
{
"code":0,
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。