授权方式4-客户端模式(Client Credentials Grant)

客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。严格地说,客户端模式并不属于OAuth框架所要解决的问题。在这种模式中,用户直接向客户端注册,客户端以自己的名义要求"服务提供商"提供服务,其实不存在授权问题。

它的步骤如下:

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

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

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

  • granttype:表示授权类型,此处的值固定为"clientcredentials",必选项。
  • scope:表示权限范围,可选项。
POST /token HTTP/1.1Host: server.example.comAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JWContent-Type: application/x-www-form-urlencodedgrant_type=client_credentials

认证服务器必须以某种方式,验证客户端身份。

B步骤中,认证服务器向客户端发送访问令牌,下面是一个例子。

HTTP/1.1 200 OKContent-Type: application/json;charset=UTF-8Cache-Control: no-storePragma: no-cache{"access_token":"2YotnFZFEjr1zCsicMWpAA", "token_type":"example", "expires_in":3600, "example_parameter":"example_value" } 

上面代码中,各个参数的含义参见《授权码模式》一节。

OAuth2.0学习(1-7)授权方式4-客户端模式(Client Credentials Grant)相关推荐

  1. oauth2.0 php简化模式,OAuth2.0学习(1-5)授权方式2-简化模式(implicit grant type)

    授权方式2-简化模式(implicit grant type) 简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授 ...

  2. 一口气说出 OAuth2.0 的四种授权方式

    上周我的自研开源项目开始破土动工了,<开源项目迈出第一步,10 选 1?页面模板成了第一个绊脚石 > ,密谋很久才付诸行动,做这个的初衷就是不想让自己太安稳,技术这条路不进步就等于后退,必 ...

  3. OAuth2.0的四种授权方式

    在OAuth2.0中,OAuth2.0 provider负责保护暴露在外的资源,第三方应用客户端Client可以独立的或代表用户Owner来访问这些受保护的资源,provider提供token令牌的管 ...

  4. OAuth2.0学习(1-6)授权方式3-密码模式(Resource Owner Password Credentials Grant)

    授权方式3-密码模式(Resource Owner Password Credentials Grant) 密码模式(Resource Owner Password Credentials Grant ...

  5. OAuth2.0学习(2-1)Spring Security OAuth2.0 开发指南

    开发指南:http://www.cnblogs.com/xingxueliao/p/5911292.html Spring OAuth2.0 提供者实现原理: Spring OAuth2.0提供者实际 ...

  6. radmin提示授权码过期_IdentityServer4 客户端授权模式(Client Credentials)

    (给DotNet加星标,提升.Net技能) 转自:朝闲cnblogs.com/Zing/p/13361386.html 前言 1.源码(.NET Core 2.2) git地址:https://git ...

  7. 在ASP.NET中基于Owin OAuth使用Client Credentials Grant授权发放Token

    OAuth真是一个复杂的东东,即使你把OAuth规范倒背如流,在具体实现时也会无从下手.因此,Microsoft.Owin.Security.OAuth应运而生(它的实现代码在Katana项目中),帮 ...

  8. OAuth2.0学习(1-1)OAuth2.0是什么?

    目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题 OAuth就是用于为第三方应用授权访问用户的资源应用的. 目前有OAuth1. ...

  9. SpringBoot中oauth2.0学习之服务端配置快速上手

    现在第三方登录的例子数见不鲜.其实在这种示例当中,oauth2.0是使用比较多的一种授权登录的标准.oauth2.0也是从oauth1.0升级过来的.那么关于oauth2.0相关的概念及其原理,大家可 ...

最新文章

  1. python画简单图片-Python绘制“高颜值”桑基图
  2. Javascript实现浏览器菜单命令
  3. 如何区分 B2B、B2C、C2C、C2B、C2C2B、C2B2B、O2O、ABC、B2G、BMC?
  4. ASP.NET生成静态页面方法大全(3)
  5. 【摘抄】其实我是间谍!
  6. java中的diss可以做标识符吗_因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名...
  7. JavaScript 遗漏知识再整理;错误处理,类型转换以及获取当前时间、年份、月份、日期;...
  8. 产品经理三大证书,考哪个好
  9. 介绍鲜花视频的html模板,HTML黄色欧美形式鲜花介绍网页模板代码
  10. Mac 上“预览”中的键盘快捷键
  11. Linux三剑客之awk精讲
  12. 找回excel工作表保护密码
  13. 软件测试找游戏bug,豪之诺游戏测试常见Bug整理
  14. 如何在低代码开发平台上,实施表单设计流程
  15. 图对比学习的应用(NCL,SimGRACE,ClusterSCL)
  16. Anonympy——使用Python进行数据匿名化
  17. (Java实现) 细胞
  18. 小白兔写话_一年级小白兔看图写话
  19. FlashFXP.v3.5.4.1230-RES-patch by SunBeam
  20. Java猿社区—Redis一篇系列—第二章、Redis入门和安装

热门文章

  1. Sr Software Engineer - Big Data Team
  2. dev Gridcontrol控件属性部分
  3. AFNetWorking 对汉字部分UTF-8编码
  4. Sahi ---实现 Web 自动化测试
  5. 【原】web服务器占有量统计等 web网站
  6. 关系数据库SQL之可编程性存储过程 1
  7. spark executor task执行
  8. 机器人加锤石如何放技能q_莫甘娜天克机器人?青蛙完美套路心理博弈,王者辅助E不出来!...
  9. python权限不够cmd安装不了_python环境配置+matplotlib
  10. Java企业面试算法新得体会之5字符串问题24问