OAuth2.0受权模式
本篇文章介绍OAuth的经典受权模式,
受权码模式
所谓受权无非就是受权与被受权,被受权方经过请求获得受权方的赞成,并赋予某用权力,这个过程就是受权。
那做为受权码就更加简单,第三方直接发起受权请求并但愿可以获得某种我须要的权力。受权方根据第三方的需求提供相应的受权权限,最后生成一串付有权限的码来实现受权,这个码就是所谓的受权码。
什么是OAuth?
OAuth是一个关于受权(authorization)的开放网络标准,在全世界获得普遍应用,目前的版本是2.0版。
OAuth的做用就是让"客户端"安全可控地获取"用户"的受权,与"服务商提供商"进行互动。
具体场景
对于受权码模式如今使用的场景特别多,这里就用QQ登陆第三方服务器作一个讲解。
咱们在访问第三方网站或者应用程序的时候会有一个登陆的操做,可是咱们没有账号并且不想注册怎么办?别担忧如今有QQ第三方进行登陆
在进行登陆的时候,会输入QQ账号或者密码,细心的朋友发现这根本就不是我登陆那个网站的页面。
其实这个界面就是QQ登陆界面,输入账号和密码经过QQ登陆,可是QQ是不会直接把用户的账号和密码给第三方,登陆成功是返回一个受权码,这就是咱们所讲的受权,他的具体流程以下。
- 点击QQ登陆小图标,客户端重定向地址指向QQ受权登陆
- 重定向地址的时候会传递一个参数callback,这个参数就是受权成功须要重定向返回跳转的地址。
- 用户输入账号密码登陆QQ服务器
- QQ登陆成功返回受权码给第三方服务器(第三方服务器保存受权码到数据库)
- 服务器返回重定向第三方界面(callback参数)
- 最后实现QQ受权登陆
(当时我只记了这些)
废话有点多,还望大佬多多指教,之后更加努力。