跳到主要内容

RFC 8628 - OAuth 2.0 设备授权授予

  • 状态: Proposed Standard
  • 发布日期: August 2019
  • Stream: IETF
  • 勘误: 无勘误

摘要​

本文档定义了 OAuth 2.0 设备授权授予流程, 允许输入受限设备 (如智能电视) 获取 OAuth 令牌.


相关资源​

  • 官方文本: https://www.rfc-editor.org/rfc/rfc8628.txt
  • 官方页面: https://datatracker.ietf.org/doc/html/rfc8628

3. 协议 (Protocol)​

子章节 (Subsections)​


本章定义 OAuth 2.0 device authorization grant 的完整 protocol flow, 包括 device authorization request, authorization response, user interaction, access token request 和 access token response 等关键步骤.


5. Security Considerations (安全考量)​

子章节​

本章节讨论 OAuth 2.0 device authorization grant protocol 的安全考量, 包括 user code 和 device code 暴力破解, 设备可信度, 远程钓鱼, 会话窥探, 非机密客户端, 以及非可视代码传输等问题.


7. IANA Considerations (IANA 考量)​

本规范在 OAuth 2.0 建立的 IANA 注册表中注册以下值.

7.1. OAuth 参数注册​

本规范在由 [RFC6749] 建立的 IANA "OAuth Parameters" 注册表 [IANA.OAuth.Parameters] 中注册以下值.

注册参数:

  1. device_code

    • 参数使用位置: token request
    • 变更控制者: IESG
    • 参考: RFC 8628 第 3.4 节
  2. user_code

    • 参数使用位置: device authorization response
    • 变更控制者: IESG
    • 参考: RFC 8628 第 3.2 节
  3. verification_uri

    • 参数使用位置: device authorization response
    • 变更控制者: IESG
    • 参考: RFC 8628 第 3.2 节
  4. verification_uri_complete

    • 参数使用位置: device authorization response
    • 变更控制者: IESG
    • 参考: RFC 8628 第 3.2 节

7.2. OAuth URI 注册​

本规范在由 [RFC6755] 建立的 IANA "OAuth URI" 注册表 [IANA.OAuth.Parameters] 中注册以下值.

  • URN: urn:ietf:params:oauth:grant-type:device_code
  • 通用名称: OAuth 2.0 的 Device Authorization Grant Type
  • 变更控制者: IESG
  • 规范文档: RFC 8628 第 3.4 节

7.3. OAuth 扩展错误注册​

本规范在由 [RFC6749] 建立的 IANA "OAuth Extensions Error Registry" [IANA.OAuth.Parameters] 中注册以下值.

注册错误代码:

  1. authorization_pending

    • 使用位置: Token endpoint response
    • 协议扩展: RFC 8628
    • 变更控制者: IETF
    • 参考: RFC 8628 第 3.5 节
  2. slow_down

    • 使用位置: Token endpoint response
    • 协议扩展: RFC 8628
    • 变更控制者: IETF
    • 参考: RFC 8628 第 3.5 节
  3. expired_token

    • 使用位置: Token endpoint response
    • 协议扩展: RFC 8628
    • 变更控制者: IETF
    • 参考: RFC 8628 第 3.5 节

7.4. OAuth 授权服务器元数据​

本规范在由 [RFC8414] 建立的 IANA "OAuth Authorization Server Metadata" 注册表 [IANA.OAuth.Parameters] 中注册以下值.

  • 元数据名称: device_authorization_endpoint
  • 元数据描述: authorization server 的 device authorization endpoint URL
  • 变更控制者: IESG
  • 参考: RFC 8628 第 4 节

RFC 8628 - 第 5-8 节摘要​

本文档是 zh-Hans 本地化清理后的辅助摘要页. RFC 正文章节已经拆分到对应页面中, 本页只保留导航性概览.

Section 5: Security Considerations (安全考量)​

第 5 节讨论 device flow 的主要安全风险, 包括 user code 暴力破解, device code 暴力破解, 设备可信度, 远程钓鱼, 会话窥探, 非机密客户端, 以及非可视代码传输. 重点防护措施包括速率限制, 足够的代码熵, 设备所有权确认, 短生命周期 user code, 以及对物理运行环境的考虑.

Section 6: Usability Considerations (可用性考量)​

第 6 节给出非规范性的可用性建议. user code 字符集应兼顾移动设备输入便利性和足够熵. 推荐示例包括 base 20 字符集 BCDFGHJKLMNPQRSTVWXZ, 示例代码 WDJB-MJHT, 以及纯数字示例 019-450-730.

Section 7: IANA Considerations (IANA 考量)​

第 7 节注册 OAuth 参数 device_code, user_code, verification_uri, verification_uri_complete, 注册 grant type URI urn:ietf:params:oauth:grant-type:device_code, 注册扩展错误代码 authorization_pending, slow_down, expired_token, 并注册 authorization server metadata 字段 device_authorization_endpoint.

Section 8: Normative References (规范性引用)​

第 8 节列出规范性引用, 包括 [RFC2119], [RFC6749], [RFC6755], [RFC6819], [RFC7525], [RFC8174], [RFC8252], [RFC8259], [RFC8414], [RFC8446], 以及 IANA OAuth Parameters 注册表.