OAuth2.0简单说就是一种受权的协议,OAuth2.0在客户端与服务提供商之间,设置了一个受权层(authorization layer)。客户端不能直接登陆服务提供商,只能登陆受权层,以此将用户与客户端区分开来。而后客户端在登陆时候不使用帐号密码,而是使用会自动过时的令牌tokenhtml
定义比较难理解,能够举个例子,假如咱们要登陆豆瓣网,能够你是没帐号的,又不想注册,而后这时候能够用QQ登陆,登陆时候会转跳到QQ登陆页面,这个就是QQ就是一个认证服务器,豆瓣是服务提供商,也能够说是资源服务器git
(A)打开客户端,重定向,请求给予受权。服务器
(B)用户开始给予客户端受权url
(C)客户端使用得到的受权,向认证服务器申请令牌。code
(D)客户端拿受权码去认证服务器认证,确认提供赞成发放令牌。htm
(E)认证经过,客户端使用令牌,向资源服务器申请获取资源。blog
(F)资源服务器确认令牌无误,赞成向客户端开放资源。token
OAuth2.0受权方式:图片
通常认证受权过程须要的参数:ci
其实总结一下,Oauth2.0用受权码方式,无非就是用户访问客户端就直接重定向到认证服务器,而后输入帐号密码等等经过验证后,认证服务器会重定向到redirect_uri并将受权码附在url上,而后再拿受权码去认证,认证经过发放令牌,登陆成功
参考资料:
http://www.rfcreader.com/#rfc6749_line1019
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html