OAuth 系列(五)客户端模式 Client Credentials

前面讲的三种模式都是面向用户的;
获取的 access_token 都有对应的 user ;
今天要讲的客户端模式获取的 access_token 则没有对应的 user ;
密码模式 相似的地方在于一般都是用于自己的应用;
不会给第三方开放客户端模式;
它的应用场景主要是机器或应用之间调用 api 访问数据;
简化模式 相似的地方在于同样只有 access_token 没有refresh_token ;

获取 Token

直接获取 Token ;
请求方式: POST
链接:http:// oauth.test/oauth/token
请求参数如下:

grant_type: client_credentials
scope: *

grant_type : 固定值为 client_credentials
scope : 要申请的权限
请求中没有任何关于用户的信息;
OAuth 协议中也没有明确要求如何认证;
但是获取 access_token 的这个接口必须要是受保护的;
协议的示例是使用 Authorization: Basic ;

     POST /token HTTP/1.1
     Host: server.example.com
     Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
     Content-Type: application/x-www-form-urlencoded

     grant_type=client_credentials

请求的返回值如下:

{
  "token_type": "Bearer",
  "expires_in": xxx,
  "access_token": "xxx",
}

请求的返回值如下:
token_type 是 token 类型一般是 Bearer ;
expires_in 过期时间
access_token 用于访问资源的令牌

白俊遥博客
请先登录后发表评论
  • latest comments
  • 总共2条评论
白俊遥博客

←しovのyo彬:大佬,请求个问题,我的博客评论被外国各种ip疯狂的灌评,怎么解决?日志如下195.154.222.29 - - [26/Apr/2019:09:03:19 +0800] "GET /readwall HTTP/1.0" 200 155990 "https://crasphter.cn/readwall" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"195.154.222.29 - - [26/Apr/2019:09:03:21 +0800] "POST /comment HTTP/1.0" 200 2497 "https://crasphter.cn/readwall" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"

2019-04-26 09:43:09 回复

白俊遥博客 白俊遥博客
  • 云淡风晴 回复 ←しovのyo彬:最简单有效的方法:加个验证码;
  • 2019-05-01 11:24:56 回复
白俊遥博客

蔚蓝。白俊遥博客白俊遥博客白俊遥博客

2019-04-23 21:20:57 回复

白俊遥博客
  • 奶飞天123 回复 蔚蓝。白俊遥博客
  • 2019-04-23 21:22:24 回复
白俊遥博客
  • Oliker 回复 奶飞天123白俊遥博客白俊遥博客
  • 2019-04-23 21:23:12 回复
白俊遥博客
  • 奶飞天123 回复 奶飞天123:试试评论功能
  • 2019-05-01 15:25:39 回复