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