OAuth2.0 — 客户端模式详解

终于到了最后一个模式的介绍,这个模式就是客户端模式(Client Credentials Grant)。客户端模式指客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。从这个简要的描述中我们就可以知道这种授权场景下,不需要普通用户的参与,客户端从授权服务器获取到 Access Token 令牌后,使用这个令牌从资源服务器获取的资源也都是跟用户没有关联性质的数据。所以呢,这种授权模式应用的场景是 B2B 的服务授权调用,属于企业间数据授权和交互的范畴。对这个模式做个简单了解即可,为什么这么说呢,因为企业间 B2B 的服务授权可采取的方式很多,而本期图文介绍的客户端模式只是其中一种而已,这个模式大家用小脑转个弯就能理解,没有扩展开来的必要了。

 

客户端授权模式

 

令牌颁发的步骤如下:

[A] 客户端向认证服务器进行身份认证,并要求一个访问令牌。

[B] 认证服务器确认无误后,向客户端提供访问令牌。 

 

[A] 步骤中,客户端发出的HTTP请求,包含以下参数:

  • grant_type:表示授权类型,此处的值固定为"clientcredentials",必选项。
  • scope:表示权限范围,可选项。

 

OAuth 2.0 客户端模式

 

[B] 步骤认证服务器向客户端发送访问令牌:

 

OAuth 2.0 客户端模式

 

返回的东西都是咱们熟悉的东西,再解释的话就太侮辱智商了。至此,完结本套图文系列的全部理论部分,我会在视频课程的《 OAuth 2.0 》中讲解部分授权模式的应用,到时在项目中再对没有说明的一些核心内容进行演示和分析。本套图文并未真正结束,后续会补充一些必要的内容。最后寄语诸君:“勤能补拙是良训,一分辛苦一分才,与诸君共勉,感谢各位跟着我这样一个浪子学技术”。