OAuth2.0授权模式

 

本篇文章介绍OAuth的经典授权模式,授权码模式

 

所谓授权无非就是授权与被授权,被授权方通过请求得到授权方的同意,并赋予某用权力,这个过程就是授权。

 

那作为授权码就更加简单,第三方直接发起授权请求并希望能够得到某种我需要的权力。授权方根据第三方的需求提供相应的授权权限,最后生成一串付有权限的码来实现授权,这个码就是所谓的授权码。

 

什么是OAuth?

 

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

 

OAuth的作用就是让"客户端"安全可控地获取"用户"的授权,与"服务商提供商"进行互动。

 

具体场景

对于授权码模式现在使用的场景特别多,这里就用QQ登录第三方服务器做一个讲解。

 

 

android app授权码 安卓授权码_重定向

我们在访问第三方网站或者应用程序的时候会有一个登录的操作,但是我们没有帐号而且不想注册怎么办?别担心现在有QQ第三方进行登录

在进行登录的时候,会输入QQ帐号或者密码,细心的朋友发现这根本就不是我登录那个网站的页面。

android app授权码 安卓授权码_android app授权码_02

其实这个界面就是QQ登录界面,输入帐号和密码通过QQ登录,但是QQ是不会直接把用户的帐号和密码给第三方,登录成功是返回一个授权码,这就是我们所讲的授权,他的具体流程如下。

 

  1. 点击QQ登录小图标,客户端重定向地址指向QQ授权登录
  2. 重定向地址的时候会传递一个参数callback,这个参数就是授权成功需要重定向返回跳转的地址。
  3. 用户输入帐号密码登录QQ服务器
  4. QQ登录成功返回授权码给第三方服务器(第三方服务器保存授权码到数据库)
  5. 服务器返回重定向第三方界面(callback参数)
  6. 最后实现QQ授权登录

 

 

android app授权码 安卓授权码_android app授权码_03

(当时我只记了这些)

 

 

废话有点多,还望大佬多多指教,以后更加努力。

android app授权码 安卓授权码_android app授权码_04