Oauth协议主要用来解决应用程序api的授权访问问题,譬如一个站点如yahoo.com,需要向其他程序提供你的地址薄,直接让其他程序使用用户名 和密码在yahoo.com登录是非常不安全的,程序可能不只获取地址薄信息,甚至去读取你的私人mail,这个时候就可以利用oauth协议来保护用户 的信息,真正的用户密码登录是在yahoo.com完成的,而关于资源的协商由yahoo.com和应用程序之间来完成,从而保护信息的安全性。
从高层次来看,OAuth按以下方式工作:
- 你的站点已与不同的webmail服务供应商建立了关系。
- 你共享一个密码短语或者公钥,这样你就能使用它访问web联系人。
- 你根据webmail服务供应商将用户重定向到登录页面。
- 该用户登录然后告诉webmail服务供应商你的站点访问其地址薄是没问题的
很多站点如国内的douban.com的api就是使用的该认证。