RFC 8628 - OAuth 2.0 Device Authorization Grant
📋 文档信息
- RFC编号: 8628
- 标题: OAuth 2.0 Device Authorization Grant (OAuth 2.0 设备授权许可)
- 发布日期: 2019年8月
- 类别: Standards Track
- 官方链接: https://www.rfc-editor.org/rfc/rfc8628
🌍 翻译状态
✅ 已完成章节(六国语言完整翻译)
| 章节 | 文件名 | 状态 | 翻译语言 |
|---|---|---|---|
| 索引 | index.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 1. Introduction | 1.Introduction.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 2. Terminology | 2.Terminology.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3. Protocol | 3.Protocol.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.1 Device Authorization Request | 3.1.Device_Authorization_Request.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.2 Device Authorization Response | 3.2.Device_Authorization_Response.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.3 User Interaction | 3.3.User_Interaction.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.3.1 Non-Textual Verification URI Optimization | 3.3.1.Non-Textual_Verification_URI_Optimization.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.4 Device Access Token Request | 3.4.Device_Access_Token_Request.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 3.5 Device Access Token Response | 3.5.Device_Access_Token_Response.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 4. Discovery Metadata | 4.Discovery_Metadata.md | ✅ | 🇨🇳🇬🇧🇯🇵🇫🇷🇩🇪🇮🇹 |
| 5. Security Considerations | 5.Security_Considerations.md | ✅ | 导航页 |
| Sections 5-8 Summary | Sections_5-8_Summary.md | ✅ | 🇨🇳 技术摘要 |
总计: 13个文档,超过60,000字的专业技术翻译
📖 核心概念
协议用途
OAuth 2.0 设备授权许可专为以下设备设计:
- 智能电视 (Smart TVs)
- 媒体控制台 (Media Consoles)
- 数字相框 (Digital Picture Frames)
- 打印机 (Printers)
- IoT设备 (Internet of Things Devices)
核心特点
- 输入受限: 支持缺少键盘或浏览器的设备
- 双设备流程: 在辅助设备上完成授权
- 用户友好: 简短的用户代码,易于输入
- 安全设计: 多层防护,防止暴力破解和钓鱼攻击
🔑 关键术语
| 英文术语 | 中文翻译 | 说明 |
|---|---|---|
| Device Code | 设备代码 | 高熵值,用于客户端轮询 |
| User Code | 用户代码 | 用户友好的短代码 |
| Verification URI | 验证URI | 用户访问的授权页面 |
| Verification URI Complete | 完整验证URI | 包含用户代码的优化URI |
| Polling | 轮询 | 客户端反复请求令牌 |
| Grant Type | 授权类型 | urn:ietf:params:oauth:grant-type:device_code |
🔄 协议流程
+----------+ +----------------+
| |>---(A)-- Client Identifier --->| |
| Device |<---(B)-- Device Code, ---<| Authorization |
| Client | User Code, | Server |
| | & Verification URI | |
| | [polling] | |
| |>---(E)-- Device Code --->| |
| |<---(F)-- Access Token ---<| |
+----------+ +----------------+
v ^
: |
(C) User Code & Verification URI |
: |
v |
+----------+ |
| End User |<---(D)-- Authenticates & Authorizes -+
| at |
| Browser |
+----------+
🛡️ 安全考量
主要威胁
- 用户代码暴力破解 - 通过速率限制和足够熵值防护
- 设备代码暴力破解 - 使用高熵值设备代码
- 远程钓鱼攻击 - 确认设备所有权
- 会话窥探 - 考虑物理环境安全
- 中间人攻击 - TLS保护和服务器验证
防护措施
- ✅ 速率限制
- ✅ 高熵设备代码
- ✅ 短生命周期
- ✅ TLS强制加密
- ✅ 用户确认流程
- ✅ 指数退避算法
💡 最佳实践
用户代码设计
推荐字符集: BCDFGHJKLMNPQRSTVWXZ (Base-20)
- 移除易混淆字符
- 移除元音避免随机单词
- 示例:
WDJB-MJHT(34.5位熵)
纯数字替代: 019-450-730(10^9熵)
实现建议
- 仅在用户提示时启动授权流程
- 实施合理的轮询间隔(默认5秒)
- 遵守
slow_down错误指示 - 使用指数退避处理超时
- 在用户界面显示清晰的指令
🔗 相关RFC
- RFC 6749 - OAuth 2.0 Authorization Framework
- RFC 8252 - OAuth 2.0 for Native Apps
- RFC 8414 - OAuth 2.0 Authorization Server Metadata
- RFC 6819 - OAuth 2.0 Threat Model and Security Considerations
📊 错误代码
| 错误代码 | 说明 | 客户端操作 |
|---|---|---|
authorization_pending | 授权待处理 | 继续轮询 |
slow_down | 降低速度 | 增加间隔5秒 |
access_denied | 访问被拒绝 | 停止轮询 |
expired_token | 令牌过期 | 重新开始流程 |
👥 作者
- William Denniss (Google)
- John Bradley (Ping Identity)
- Michael B. Jones (Microsoft)
- Hannes Tschofenig (ARM Limited)
📄 许可证
RFC文档属于公共领域,遵循IETF Trust的法律条款。
🌟 翻译质量保证
翻译原则
- ✅ 信: 1:1完整保留原文
- ✅ 达: 术语准确,语言流畅
- ✅ 雅: 专业术语双语标注
支持语言
- 🇨🇳 简体中文
- 🇬🇧 English
- 🇯🇵 日本語
- 🇫🇷 Français
- 🇩🇪 Deutsch
- 🇮🇹 Italiano
技术规范
- MDX格式兼容
- 代码块语法高亮
- 链接结构完整
- 元数据规范
最后更新: 2024 翻译版本: v1.0 文档状态: 生产就绪