OAuth2.0认证之授权码模式

  • 摘要:OAuth 协议是针对提供给第三方进行认证登陆的 ,目前非常流行该种认证授权方式 , OAuth 认证方式共分为四种,分别是:客户端模式、授权码模式、密码模式、简易模式。
    我们可以从各大互联网巨头身上找到 OAuth 的影子,如:微信公众号、支付宝、快递鸟、CSDN等等。
    这一次我们将认识并了解其中的授权码模式 , 授权码模式应该算是 OAuth 认证中最为复杂和严谨的一种授权方式,如果你做过微信公众号授权那么对该模式一定不陌生,接下来就让我们一起来了解和探索它吧。

一 使用场景

  1. 多个客户端服务共用一个授权认证服务器,其中某一个客户端在调用认证授权服务成功的同时也可以做一些自定义的操作,例如:判断该用户在当前服务是是否注册过,如果没有则进行用户注册。如果有则关联用户信息,并进行登录。
  2. 类似于微信公众号授权流程,使用账户/密码到授权服务中验证,通过后返回code,在通过code获取token,最后使用token获取用户信息。
  3. 当然还有其他应用场景,可以根据实际业务需求进行定制化处理,这里就不一一列举了。

二 使用方法(这里已豆瓣网登录为例)

第一步:在豆瓣官网点击用qq登录

在这里插入图片描述

第二步:跳转到qq登录页面输入用户名密码,然后点授权并登录

在这里插入图片描述

第三步:跳回到豆瓣页面,成功登录

在这里插入图片描述 这几秒钟之内发生的事情,在无知的用户视角看来,就是在豆瓣官网上输了个qq号和密码就登录成功了。在一些细心的用户视角看来,页面经历了从豆瓣到qq,再从qq到豆瓣的两次页面跳转。但作为一群专业的程序员,我们还应该从上帝视角来看这个过程。