在web应用中,通过直接提供用户名、密码来进行验证身份的一种优化的解决方案。
具体原理:将username和password通过“:”来连接,组合成“username:password”,然后将此组合串进行base64加密,将加密后的串传递到web服务器,服务器进行base64解密,得到username和password,然后进行匹配验证。
原由:
1、加密后的base64密文,用户直接查看是不晓得用户名和密码是啥,不过用简单的base64解密后即可查看,所以这种方案不是出于安全的目的。
2、因为这中认证方式是基于http协议的,其报文传递中会限制一些字符的使用,当进行了base64加密后的密文可以解决这种问题。
OAuth 官网
OAUth认证方式比于Base OAuth的认证方式最大的特点是,应用方并不需要保存用户的帐户与密码,只需要保存经过用户授权的Key与Secret组合即可对于平台上的所有接口资源进行访问,在传输过程中也可以避免被不怀好意的人通过截包分析的方式获取到用户的帐号与密码。(有一说Twitter全面改用OAuth认证方式的原因就是防止GFW通过截包获取到一些相关名人的帐号和密码)。
http://zh.wikipedia.org/wiki/OAuth
http://kejibo.com/oauth/
http://blog.csdn.net/hereweare2009/archive/2009/03/08/3968582.aspx