OAuth2.0介绍

  

     概述

  

OAuth 2.0授权框架能够是第三方应用获取应用被保护的服务资源,它是一种授权互联网标准,由IETF(互联网工程任务组)管理发布。   
本文主要参考材料为   RFC 6749

  

     初步理解

  

接下来以一个生活中的例子来简单解释OAuth3的应用场景。   
我家所在的小区门禁系统升级,用户可以下载物业的手机应用,注册用户并通过物业审核之后,就可以使用应用程序中的“蓝牙开门”功能开启大门。   
   OAuth2.0介绍”>
  <p>有一次,朋友给我打电话说要到我家拜访,通过访客邀请功能填写基本的信息,然后发送一个微信小程序链接给朋友
  <br>
  <img src=      OAuth3.0标准   

     OAuth3.0的流程

  

   OAuth2.0介绍”>
  <br> (A)客户端(客户端)向资源拥有者(资源所有者)申请授权,资源拥有者(资源所有者)可以直接授权,但最好是通过Autherization进行授权
  <br> (B)客户端(客户端)获得授权的允许凭据格兰特(授权),在OAuth3.0中该凭据的获取有四种类型,授权码,隐藏式,用户密码和客户端凭证
  <br> (C)客户端(客户端)使用授权凭据向授权服务器(授权服务器)申请访问凭证(访问令牌)
  <br> (D)认证服务器(授权服务器)验证申请凭据格兰特(授权),验证通过后颁发访问凭证(访问令牌)
  <br> (E)客户端(客户端)使用访问凭证(访问令牌)访问资源服务器(资源服务器)
  <br> (F)资源服务器(资源服务器)验证访问凭证(访问令牌),验证通过后对客户端(客户端)请求进行处理并返回结果
  <h3 id=      刷新凭证(刷新令牌)   

刷新凭证(刷新令牌)是由认证服务器(授权服务器)颁发给客户端(客户端),用于在当前凭证失效或者过期时,重新获取一个新的访问凭证(访问令牌)。但颁发刷新凭证(刷新令牌)对于认证服务器(授权服务器)是可选择的功能,如果支持,刷新凭证(刷新令牌)会与访问凭证(访问令牌)一同颁发   
   OAuth2.0介绍”>
  <br> (A)客户端(客户端)使用授权凭据(授权拨款)请求访问凭证(访问Tonken)
  <br> (B)认证服务器(授权服务器)验证凭据通过后,颁发访问凭证(访问令牌)和刷新凭证(刷新令牌)
  <br> (C)客户端(客户端)使用访问凭证(访问令牌)访问资源服务器(资源服务器)
  <br> (D)资源服务器(资源服务器)验证访问凭证(访问令牌),验证通过对请求进行处理
  <br> (E)步骤(C), (D)会不断重复,直到访问凭证(访问令牌)过期,此时流程会跳转至(G)
  <br> (F)由于凭证过期,资源服务器会返回凭证过期的错误
  <br> (G)客户端(客户端)使用刷新凭证(刷新令牌)请求新的访问凭证(访问令牌)
  <br> (H)认证服务器验证刷新凭证,验证通过,办法新的访问凭证和刷新凭证
  <h3 id=      客户端的授权类型

OAuth2.0介绍