授权码授权总共由2个请求和2个响应组成。一个授权请求+响应,和一个令牌请求+响应。 授权请求 授权请求被发送到授权端点以获取一个授权码。这是请求中用到的参数:

response_type 必须。必须被设置到代码里
client_id 必须。当客户端被注册时,授权服务器要标识的客户端。
redirect_uri 可选。通过客户端注册的重定向URI。
scope 可选。请求可能的作用域。
state 可选(推荐的)。任何需要被传递到客户端请求的URI客户端的状态。

授权响应 授权响应包含了需要用来获取访问令牌的授权码。这是响应包括的参数:

code 必须。授权码
state 如果出现在请求中,必须包含。如果有的话,和客户端请求中发送的state参数一样。

授权错误 如果授权期间发生错误,两种情况会发生。 第一种情形是,客户端没有被授权或识别。比如,请求中错误的重定向URI。这种情况下,授权服务器没有必要重定向资源拥有者到重定向URI,而是通知资源拥有者发生了错误。 第二种情形是,客户端被正确地授权了,但是其他某些事情失败了。这种情况下下面地错误响应会被发送到客户端,包括在重定向URI中:

error 必须。必须是预先定义的错误码之一。参见规范查查这些错误码及它们的含义。
error_description 可选。一段UTF-8编码的描述错误的文本。适用于开发者,而不是最终用户。
error_uri 可选。 一个指向包含人类可读的错误信息网页的URI。
state 必须。如果出现在授权请求期间,和请求中的state参数一样。

令牌请求 一旦授权码被获取到了,客户端可以用它获取访问令牌。这是访问令牌请求参数:

grant_type 必须。必须被设置到授权码中。
code 必须。被授权服务器接收到的授权码。
redirect_uri 必须。如果请求URI包括在授权请求中,之后必须是相同的。

令牌响应 访问令牌请求的响应是包含访问令牌及一些更多信息的JSON字符串:

{ "access_token"  : "...","token_type"    : "...","expires_in"    : "...","refresh_token" : "...",
}

access_type属性是授权服务器分配的访问令牌。 token_type是被授权服务器分配的令牌类型。 expires_in属性是指访问令牌过多少秒后,就不再有效。访问令牌过期值是可选的。 refresh_token属性包含令牌过期后刷新的令牌。刷新的令牌用于,一旦响应返回的不再有效时,包含一个新的访问令牌。

  • 转载自 并发编程网 - ifeve.com

OAuth 2.0系列教程(八) 授权码授权相关推荐

  1. OAuth 2.0系列教程(十) 资源拥有者密钥证书授权请求和响应

    资源拥有者者密钥证书授权包含单个的请求+响应. 资源拥有者密钥证书授权请求 请求包含下面的参数: grant_type 必须.必须设置到密码中. username 必须.UTF-8编码的资源拥有者用户 ...

  2. 说透OAuth 2.0 [1] - 什么是认证和授权?

    说透OAuth 2.0 [1] - 什么是认证和授权? 引子 认证 认证实体变更 认证方式变更 信任系统变更 授权 总结 引子 我在面试Web相关岗位时,经常会问面试者一个问题,什么是认证,什么是授权 ...

  3. SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

    加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...

  4. PHP下的Oauth2.0尝试 - 授权码授权(Authorization Code Grant)

    OAuth 2.0 不太熟悉什么是OAuth2.0的同学可以参考阮大神的文章, 理解OAuth 2.0 - 阮一峰 授权码模式(Authorization Code) # 授权代码授予类型用于获得访问 ...

  5. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  6. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之六自定义View涂鸦项目实战!

    这一节写个简单的项目,涂鸦,简单来讲就是画什么,显示什么.最好的网站,就是官网,这里再发一下: https://developer.harmonyos.com/cn/docs/documentatio ...

  7. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之五布局方法点击响应!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之三Ability概述&&调用方法! 为了更好的交 ...

  8. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  9. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之二应用知识梳理逻辑!

    原创PDF |<Android 深入系统完全讲解>免费开源,可能价值百万! 王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建&&跑起来模拟器! 写完了第一篇,跑去 ...

最新文章

  1. 用了 Elasticsearch 后,查询起飞了!
  2. 没办法,我必须干掉他们团队的 Leader
  3. (转)测测你是否有搜索引擎依赖症
  4. 苹果手机换了屏显示无服务器,苹果将​​为存在显示问题的iPhone 11提供免费更换...
  5. xcode6不显示键盘------解决方案
  6. 编程的智慧 意外在内网找到的资源
  7. dataframe 删除首尾空格_你敲空格的速度很快,但女人的手不是用来敲空格的!...
  8. 编写一个汇编语言程序,将字符串Hello World中的全部小写字母转换为大写字母,并存放回原地址处。
  9. python时间复杂度和空间复杂度是指_时间复杂度和空间复杂度
  10. android studio table居中代码_html table表格标签内容如何居中显示?表格的align属性的用法介绍...
  11. P3007 [USACO11JAN]大陆议会The Continental Cowngress(2-SAT)
  12. python中如何去除列表中重复元素?
  13. 震惊!等待时间竟然用for循环!
  14. 锁存器芯片74HC573芯片的用法,及其在实际电路中的应用
  15. 提取 Wallpaper Engine 的 pkg 壁纸文件,获得静态壁纸
  16. 中国近代史导图(二)
  17. 基于单片机原理的暖风机控制系统设计-毕设课设资料
  18. 完美解码播放器(PotPlayer)关闭自动播放下一首的方法(找了好久)
  19. 常见10种安全漏洞(OWAPS TOP 10)
  20. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

热门文章

  1. JasperReport里面的Demo
  2. SVN数据代码迁移Windows2012ServerR2
  3. popupmenu java_Java基于JPopupMenu实现系统托盘的弹出菜单,解决PopupMenu弹出菜单中文乱码...
  4. java的type转化class_第七章 (类型转换)Type Convertion
  5. warframe计算机拒绝访问,Win10运行warframe出现蓝屏DRIVER_CORRUPTED_EXPOOL怎么办
  6. 法流程图_世界五大学习方法之西蒙学习法
  7. 计算机控制常用数据通信标准,计算机控制数据通信基础要点.ppt
  8. oracle 性能优化 常用,Oracle數據庫常用性能優化
  9. Linux运维学习大纲
  10. 2022年中国大学生学习与发展白皮书