2
我的最新API即将“发货”。从“早期发布和经常发布”的背景出发,我计划在更高发布版本中实施oAuth。我是否仍然应该为我的API提供基本身份验证
是什么原因导致Twitter removes Basic Auth from its API?在任何API中使用基本身份验证有什么优点和缺点以及安全隐患?
最佳
亨里克
我的最新API即将“发货”。从“早期发布和经常发布”的背景出发,我计划在更高发布版本中实施oAuth。我是否仍然应该为我的API提供基本身份验证
是什么原因导致Twitter removes Basic Auth from its API?在任何API中使用基本身份验证有什么优点和缺点以及安全隐患?
最佳
亨里克
的可能(愚见)为什么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提供了这样的能力。