6. 刷新访问令牌
==================
若授权服务器给客户端颁发了刷新令牌,客户端通过使用按[附录B](../AppendixB/b.md)“application/x-www-form-urlencoded”格式在HTTP请求实体正文中发送下列UTF-8字符编码的参数向令牌端点发起刷新请求:
- grant_type
必需的。值必须设置为“refresh_token”。
- refresh_token
必需的。颁发给客户端的刷新令牌。
- scope
可选的。如[3.3](../Section03/3.3.md)节所述的访问请求的范围。请求的范围不能包含任何不是由资源所有者原始许可的范围,若省略,被视为与资源所有者原始许可的范围相同。
因为刷新令牌通常是用于请求额外的访问令牌的持久凭证,刷新令牌绑定到被它被颁发给的客户端。如果客户端类型是机密的或客户端被颁发了客户端凭据(或选定的其他身份验证要求),客户端必须如[3.2.1](../Section03/3.2.1.md)节所述与授权服务器进行身份验证。
例如,客户端使用传输层安全发起如下HTTP请求(额外的换行仅用于显示目的):
POST /token HTTP/1.1
Host: server.example.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA
授权服务器必须:
- 要求机密客户端或任何被颁发了客户端凭据(或有其他身份验证要求)的客户端进行客户端身份验证,
- 若包括了客户端身份验证,验证客户端身份并确保刷新令牌是被颁发给进行身份验证的客户端的,并
- 验证刷新令牌。
如果有效且被授权,授权服务器如[5.1](../Section05/5.1.md)节所述颁发访问令牌。如果请求因验证失败或无效,授权服务器[5.2](../Section05/5.2.md)节所述返回错误响应。
授权服务器可以颁发新的刷新令牌,在这种情况下,客户端必须放弃旧的刷新令牌,替换为新的刷新令牌。在向客户端颁发新的刷新令牌后授权服务器可以撤销旧的刷新令牌。若颁发了新的刷新令牌,刷新令牌的范围必须与客户端包含在请求中的刷新令牌的范围相同。
- 1.介绍
- 1.1.角色
- 1.2.协议流程
- 1.3.授权许可
- 1.3.1.授权码
- 1.3.2.隐式授权
- 1.3.3.资源所有者密码凭据
- 1.3.4.客户端凭据
- 1.4.访问令牌
- 1.5.刷新令牌
- 1.6.TLS版本
- 1.7.HTTP重定向
- 1.8.互操作性
- 1.9.符号约定
- 2.客户端注册
- 2.1.客户端类型
- 2.2.客户端标识
- 2.3.客户端身份验证
- 2.3.1.客户端密码
- 2.3.2.其他身份验证方法
- 2.4.未注册的客户端
- 3.协议端点
- 3.1.授权端点
- 3.1.1.响应类型
- 3.1.2.重定向端点
- 3.2.令牌端点
- 3.2.1客户端身份验证
- 3.3.访问令牌范围
- 4.获得授权
- 4.1.授权码许可
- 4.1.1.授权请求
- 4.1.2.授权响应
- 4.1.3.访问令牌请求
- 4.1.4.访问令牌响应
- 4.2.隐式许可
- 4.2.1.授权请求
- 4.2.2.访问令牌响应
- 4.3.资源所有者密码凭据许可
- 4.3.1.授权请求和响应
- 4.3.2.访问令牌请求
- 4.3.3.访问令牌响应
- 4.4.客户端凭证许可
- 4.4.1.授权请求和响应
- 4.4.2.访问令牌请求
- 4.4.3.访问令牌响应
- 4.5.扩展许可
- 5.颁发访问令牌
- 5.1.成功响应
- 5.2.错误响应
- 6.刷新访问令牌
- 7.访问受保护资源
- 7.1.访问令牌类型
- 7.2.错误响应
- 8.可扩展性
- 8.1.定义访问令牌类型
- 8.2.定义新的端点参数
- 8.3.定义新的授权许可类型
- 8.4.定义新的授权端点响应类型
- 8.5.定义其他错误代码
- 9.本机应用程序
- 10.安全性考虑
- 10.1.客户端身份验证
- 10.2.客户端仿冒
- 10.3.访问令牌
- 10.4.刷新令牌
- 10.5.授权码
- 10.6.授权码重定向URI操纵
- 10.7.资源拥有者密码凭据
- 10.8.请求机密性
- 10.9.确保端点真实性
- 10.10.凭据猜测攻击
- 10.11.钓鱼攻击
- 10.12.跨站请求伪造
- 10.13.点击劫持
- 10.14.代码注入和输入验证
- 10.15.自由重定向
- 10.16.隐式流程中滥用访问令牌假冒资源所有者
- 11.IANA考量
- 11.1.OAuth访问令牌类型注册表
- 11.1.1.注册模板
- 11.2.OAuth参数注册表
- 11.2.1.注册模板
- 11.2.2.初始注册表内容
- 11.3.OAuth授权端点响应类型注册表
- 11.3.1.注册模板
- 11.3.2.初始注册表内容
- 11.4.OAuth扩展错误注册表
- 11.4.1.注册模板
- 12.参考文献
- 12.1.规范性文献
- 12.2.参考性文献
- 附录A. 增强巴科斯-诺尔范式(ABNF)语法
- a.1.“client_id”语法
- a.2.“client_secret”语法
- a.3.“response_type”语法
- a.4.“scope”语法
- a.5.“state”语法
- a.6.“redirect_uri”语法
- a.7.“error”语法
- a.8.“error_description”语法
- a.9.“error_uri”语法
- a.10.“grant_type”语法
- a.11.“code”语法
- a.12.“access_token”语法
- a.13.“token_type”语法
- a.14.“expires_in”语法
- a.15.“username”语法
- a.16.“password”语法
- a.17.“refresh_token”语法
- a.18.端点参数语法
- 附录B. 使用application/x-www-form-urlencoded媒体类型
- 附录C. 致谢
- 勘误
- 3446
- 3500