2010-08-30 187 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提供了这样的能力。

相关问题