1、什么是OAuth协议
OAuth(开放受权)是一个开放标准。
容许第三方网站在用户受权的前提下访问在用户在服务商那里存储的各类信息。
而这种受权无需将用户提供用户名和密码提供给该第三方网站。
OAuth容许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。
2、OAuth的原理和受权流程
OAuth的认证和受权的过程当中涉及的三方包括:
服务商:用户使用服务的提供方,通常用来存消息、储照片、视频、联系人、文件等(好比Twitter、Sina微波等)。
用 户:服务商的用户
第三方:一般是网站,该网站想要访问用户存储在服务商那里的信息。
好比某个提供照片打印服务的网站,用户想在那里打印本身存在服务商那里的网络相册。
在认证过程以前,第三方须要先向服务商申请第三方服务的惟一标识。
OAuth认证和受权的过程以下:
一、用户访问第三方网站网站,想对用户存放在服务商的某些资源进行操做。
二、第三方网站向服务商请求一个临时令牌。
三、服务商验证第三方网站的身份后,授予一个临时令牌。
四、第三方网站得到临时令牌后,将用户导向至服务商的受权页面请求用户受权,而后这个过程当中将临时令牌和第三方网站的返回地址发送给服务商。
五、用户在服务商的受权页面上输入本身的用户名和密码,受权第三方网站访问所相应的资源。
六、受权成功后,服务商将用户导向第三方网站的返回地址。
七、第三方网站根据临时令牌从服务商那里获取访问令牌。
八、服务商根据令牌和用户的受权状况授予第三方网站访问令牌。
九、第三方网站使用获取到的访问令牌访问存放在服务商的对应的用户资源