2010-08-30 46 views

回答

1

的可能(愚見)爲什麼Twitter的去除基本授權是基於這樣的事實,基本授權是基於Base64 encoding。基本授權標頭允許您散列用戶名和密碼的字符串concocuation(用冒號分隔)。

例如(僞代碼,語言獨立的)

String basicAuth = Base64Encode("username:password"); //where username is my username and password is password. 
httpRequestHeader.setHeader("Authorization", "Basic " + basicAuth); 

竊聽者可以截取HTTP請求,檢索Authorization報頭,並且解碼Base64編碼流,並獲得用戶的用戶名和密碼。編碼器/解碼器代碼可以在互聯網上的任何地方找到。

現在,竊聽者使用該用戶名和密碼登錄到Twitter併成爲「新」用戶(並更改密碼以便當前用戶不再登錄)。

或多或少,基本認證的缺陷可以在here找到。

其次,Twitter想要在發佈商網站上完成身份驗證,而不是通過第三方客戶端遠程發送。 OAuth提供了這樣的能力。