主页 购物车 询价 关于我们
www.GB-GBT.com
收录标准: 223298 (2026-07-06) 搜索
路径: 主页 > GB/T > 第747页 > GB/T 47475-2026

[PDF] GB/T 47475-2026 - 英文版

标准搜索结果: 'GB/T 47475-2026'
标准号码美元购买PDF工期标准名称(英文版)
GB/T 47475-2026 609 GB/T 47475-2026 <=5 网络安全技术 开放的第三方资源授权协议
基本信息
标准编号 GB/T 47475-2026 (GB/T47475-2026)
中文名称 网络安全技术 开放的第三方资源授权协议
英文名称 Cybersecurity technology - Open resource authorization protocol for third party
行业 国家标准 (推荐)
中标分类 L80
国际标准分类 35.030
字数估计 30,341
发布日期 2026-04-30
实施日期 2026-11-01
发布机构 国家市场监督管理总局、国家标准化管理委员会

GB/T 47475-2026: 网络安全技术 开放的第三方资源授权协议 GB/T 47475-2026 英文版: Cybersecurity technology - Open resource authorization protocol for third party ICS 35.030 CCSL80 中华人民共和国国家标准 网络安全技术 开放的第三方资源授权协议 2026-04-30发布 2026-11-01实施 国 家 市 场 监 督 管 理 总 局 国 家 标 准 化 管 理 委 员 会 发 布 1 范围 本文件确立了开放的第三方资源授权协议的通则,规定了客户端类型和要求,以及不同类型的授权 流程、令牌发放与刷新、受保护资源访问的协议要求。 本文件适用于跨安全域应用场景下,基于HTTP通信机制的资源授权服务的设计与开发。 4 缩略语 下列缩略语适用于本文件。 HTML:超文本置标语言(HypertextMarkupLanguage) HTTP:超文本传输协议(HypertextTransferProtocol) TLCP:传输层密码协议(TransportLayerCryptographicProtocol) TLS:安全传输层(TransportLayerSecurity) UTF-8:UCS变换形式8(UCSTransformationFormat8) URI:统一资源标识符(UniformResourceIdentifier) URL:统一资源定位符(UniformResourceLocator) 5 通则 5.1 协议角色 协议角色如下。 ---资源所有者:负责决策是否授予受保护资源的访问权限,并在鉴别过程中提供身份凭证。 ---服务提供者:资源服务器或授权服务器所属平台或服务。授权服务器负责对资源所有者进行 身份鉴别,验证客户端合法性和真实性,并根据资源所有者的授权意愿确定是否颁发授权许、 访问令牌。资源服务器负责托管受保护资源,接收并校验客户端提交的访问令牌,根据校验结 果响应资源请求。 ---客户端(第三方应用):负责向资源拥有者发起授权请求,并代表资源拥有者使用令牌访问受保 护资源。 5.2 协议基本流程 协议基本流程见图1,图1给出了资源所有者、服务提供者和客户端等三个角色之间的关系。 a) 客户端向资源所有者请求授权。客户端不直接与资源所有者交互,而是通过授权服务器作为 中介发送请求给资源所有者[见7.2.1的a)、b)]。 b) 资源所有者确认授权后,授权服务器依据该授权意愿向客户端发放授权许可。 c) 客户端向授权服务器提交授权许可以及身份凭据,向授权服务器请求访问令牌。 d) 授权服务器鉴别客户端的身份并验证授权许可的有效性,如客户端身份鉴别通过且授权许可 有效,则授权服务器向客户端发放访问令牌。 e) 客户端向资源服务器发送访问令牌及相关参数,用以请求访问受保护资源。 f) 资源服务器验证访问令牌的有效性。如访问令牌有效,则将请求的资源发送给客户端,如客户 端对受保护资源的访问超出访问令牌范围或有效期,则访问失效,客户端重新开始授权请求或 采用8.3的规定进行访问令牌刷新。 协议基本流程主要包括授权流程和受保护资源访问两个阶段。具体授权流程见第7章,资源访问 见第9章。 本文件规定的授权协议构建于HTTP之上。协议参数说明见附录A。协议通道安全要求应符合 B.1。 5.3 协议端点类型 5.3.1 端点分类 本文件规定了三种功能的端点: a) 授权端点; b) 令牌端点; c) 重定向端点。 授权端点和令牌端点允许客户端在请求中添加能表明访问范围的参数,用该参数指明资源访问请 求中请求的受保护资源访问范围。相应地,授权服务器通过在响应中包含访问范围的参数来告知客户 端其被发放的访问令牌的受保护资源访问范围。若实际授予的访问范围与请求的不一致,响应中给出 表示实际访问范围的参数,以告知客户端其实际被允许的受保护资源访问范围。 如客户端在请求授权时省略了范围参数,授权服务器使用预定义的默认值回应此请求,或者拒绝此 次请求。授权服务器在其服务文档中对范围参数的要求和默认值进行说明。 5.3.2 授权端点 授权端点位于授权服务器,接收客户端的授权请求、资源所有者的身份凭据和授权,并通过用户代 理重定向到客户端重定向端点并附带授权码。当授权服务器收到客户端的授权请求时,授权服务器首 先验证资源所有者的身份。 授权端点URI通常由授权服务器的服务文档提供。 授权端点的URI可包含查询组件。当增加其他查询参数时,保留该查询组件,该端点URI不包含 片段组件。 授权服务器的授权端点应具备处理 HTTPGET请求的能力,可具备处理 HTTPPOST请求的 能力。 5.3.3 令牌端点 客户端呈递授权许可或刷新令牌给授权服务器的令牌端点,授权服务器验证请求后,令牌端点发放 访问令牌给客户端。 本文件不规定客户端获取令牌端点URI的方式(通常由授权服务器的服务文档提供)。 令牌端点URI可包含查询组件。当增加其他查询参数时,保留该查询组件。令牌端点 URI不包 含片段组件。 客户端在向授权服务器的令牌端点请求访问令牌时使用HTTPPOST方法。 当授权服务器的令牌端点收到具备凭据保护能力的客户端或其他被授予了身份凭据的客户端的请 求时,授权服务器对客户端进行身份鉴别。 5.3.4 重定向端点 客户端在其注册阶段预先向授权服务器注册 URI作为重定向端点。授权服务器完成与资源所有 者的交互之后,将资源所有者的用户代理重定向到客户端的重定向端点,向客户端返回授权结果。 重定向端点URI是绝对URI。重定向端点URI可包含查询组件,在向重定向端点URI添加其他 查询参数时,保留该组件。重定向端点URI不包含片段组件。 重定向端点安全要求应符合B.2。 6 客户端类型和要求 6.1 类型 根据客户端是否对其身份凭据具有保护能力,本文件规定了两种客户端的类型: a) 具备凭据保护能力的客户端 客户端有能力维持其凭据的机密性(例如,客户端运行在严格执行访问控制的安全服务器 上),从而可通过提供安全的身份凭据来证明自己身份的真实性,或者客户端有能力通过其他 的方式(超出本文件的范围)证明自己身份的真实性; 注:典型代表为 Web应用,资源所有者通过 HTML用户界面来访问该应用,此 HTML用户界面由其使用的 设备中的用户代理来渲染。客户端身份凭据以及发放给客户端的所有访问令牌都存储在 Web服务器 上,对资源所有者而言是不可获取且不可访问的。 b) 不具备凭据保护能力的客户端 客户端没有能力维持其凭据的机密性(例如,客户端运行在资源所有者使用的设备上,本地应 用或是基于浏览器的应用等),无法提供安全的身份凭据来证明自己身份的真实性,并没有能 力通过其他方式证明自己身份的真实性。 注:典型代表为运行于用户代理上的应用和本地应用。运行于用户代理的应用从 Web服务器下载到资源所 有者本地设备上并在用户代理(如 Web浏览器)中执行,其协议数据和凭据对于资源所有者可访问。本 地应用安装并运行在资源所有者所使用的设备上,其协议数据和凭据对资源所有者是可访问的。 客户端类型的认定取决于授权服务器的鉴别安全需求和授权服务器对客户端身份凭据被获取风险 的接受程度(通常由授权服务器的服务文档提供)。授权服务器不对客户端的类型进行假定。 客户端可由一组分布式的组件共同实现,每个组件具有不同的客户端类型和安全上下文(例如,客 户端同时具有基于服务器的具备凭据保护能力的组件和基于浏览器的不具备凭据保护能力的组件)。 此类客户端的注册不在本文件中规定,通常客户端运营商可将客户端的每个组件都注册在授权服务 器上。 6.2 标识符 客户端标识符是授权服务器为注册的客户端发放的应用程序标识符。该标识符是字符串,授权服 务器使用该字符串可唯一标识一个客户端。 本文件对客户端标识符的长度不作规定。授权服务器宜在其服务文档中说明所发放客户端标识符 的长度。 6.3 注册 在协议进行之前,客户端的提供商需要在授权服务器上注册客户端的信息(例如重定向端点URI、 客户端类型等),建立客户端与授权服务器的信任关系。客户端提供商使用授权服务器允许的注册方法 (通常由授权服务器的服务文档提供)完成注册。 在注册客户端时,客户端提供商应提供以下信息给授权服务器: a) 客户端的类型; b) 指向客户端的重定向端点; c) 授权服务器所需要的其他信息(如,应用名称、网站和描述、客户端身份鉴别方法等)。 6.4 身份鉴别 6.4.1 身份凭据鉴别方案 针对具备凭据保护能力的客户端,当授权服务器使用基于身份凭据的鉴别方案对客户端进行鉴别 时,授权服务器应允许客户端在请求体中添加相关参数传递客户端身份凭据以进行身份鉴别,可允许客 户端使用HTTP基本鉴别方案(见RFC9110)。当采用请求体中添加客户端身份凭据的身份鉴别方案 时,应通过POST方式将如下参数放在 HTTP主体部分进行传输,不应通过 HTTHGET方式将参数 包含在请求的URI中。 6.2中所描述的客户端标识符。 b) client_secret[必选] 客户端密钥。 c) nonce[条件必选] 客户端生成的随机字符串。当client_secre采用注2所述的方法时,该参数为必选。 d) timestamp[必选] 时间戳,当client_secre采用注2所述的方法时,该参数为必选。 由于鉴别具备凭据保护能力的客户端的方法涉及客户端密钥,授权服务器应采取措施使所有涉及 客户端密钥的端点具备抵御暴力攻击的能力。客户端身份鉴别安全要求应符合B.3。 6.4.2 数字证书鉴别方案 本文件推荐采用数字证书鉴别方案实现对客户端的身份鉴别。对于支持国产密码算法的客户 端,在客户端注册阶段若明确采用数字证书鉴别方案,应使用符合GB/T 32918.2的SM2数字证书鉴 别方案对客户端进行鉴别,宜采用GB/T 15843.3中的双向鉴别相关鉴别方案。客户端身份鉴别安全 要求应符合B.3。 6.4.3 其他鉴别方案 授权服务器可采用任何符合其安全需求的鉴别方案。当采用其他鉴别方案时,授权服务器应记录 客户端标识符所对应的鉴别方案。 7 授权流程 7.1 授权许可类型 7.1.1 概述 本文件规定了三种授权许可类型: a) 授权码许可; b) 客户端身份凭据许可; c) 设备授权许可。 7.1.2 授权码许可 客户端不直接向资源所有者请求授权,而是以授权服务器为中介向资源所有者请求授权。客户端 将资源所有者的用户代理重定向到授权服务器,授权服务器与资源所有者交互,对资源所有者的身份进 行鉴别,并征得资源所有者授权后,将资源所有者的用户代理重定向回到客户端,并在重定向消息中携 带授权码。 授权码许可流程适用于需要资源所有者参与授权,由客户端代表资源所有者访问受保护资源的通 用场景。对于不具备凭据保护能力的客户端应使用授权码许可流程,对于具备凭据保护能力的客户端 宜使用授权码许可流程。授权码许可类型可用于获取访问令牌和刷新令牌。 7.1.3 客户端身份凭据许可 客户端身份凭据(或其他形式的能用于客户端身份鉴别的信息)可作为授权许可,用于获取访问令 牌。客户端身份凭据许可是一种受限场景下进行授权的方法。客户端身份凭据许可类型适用于以下受 限场景: a) 受保护资源由客户端控制的场景; b) 经协商,授权服务器同意客户端访问受保护资源的场景。 7.1.4 设备授权许可 设备授权许可是一种用于在输入受限设备(例如智能电视、打印机等)上进行授权的方法。设备授 权许可允许用户通过具备标准网页浏览器的设备(如智能移动通信终端)来完成授权。 7.2 授权码许可 7.2.1 流程 授权码许可流程见图2。 7.2.2 授权请求 客户端通过将以下参数添加到授权端点URI的查询组件,来构造授权请求。 7.3 客户端身份凭据许可 7.3.1 流程 客户端身份凭据许可流程见图3。 图3 客户端身份凭据许可流程 图3包括以下步骤: a) 客户端向授权服务器的令牌端点发送访问令牌请求,并提交客户端身份凭据,授权服务器对客 户端进行身份鉴别; b) 授权服务器鉴别客户端的身份,如身份鉴别通过,则发放访问令牌。 客户端身份凭据许可流程中的安全要求应符合B.5。 7.3.2 授权请求和响应 客户端鉴别结果被用作授权许可,无需额外的授权请求。 7.3.3 访问令牌请求 客户端向令牌端点发送请求,在该请求的主体部分添加如下参数(参数经过UTF-8编码后,再使用 “application/x-www-form-urlencoded”格式编码): a) grant_type[必选] 参数值为“client_credentials”; b) client_id[必选] 6.2中所描述的客户端标识符; c) scope[可选] 请求访问受保护资源的范围。 授权服务器根据6.4给出的身份鉴别方法对客户端进行身份鉴别。 7.3.4 访问令牌响应 如访问令牌请求是有效的,授权服务器按8.2.1所述发放访问令牌,响应中不应包含刷新令牌。如 授权服务器对发起访问令牌请求的客户端的身份鉴别失败,或对客户端请求的验证失败,则授权服务器 返回8.2.3所述的出错响应。 7.4 设备授权许可 7.4.1 流程 设备授权许可流程见图4。 图4 设备授权许可流程 图4包括以下步骤。 a) 设备的客户端向授权服务器请求访问权限,并在请求中包含客户端标识符。 b) 授权服务器向设备的客户端颁发设备码、用户码和用户验证URI。 c) 设备的客户端指示用户在另一台设备上使用用户代理访问提供的用户验证URI,并向用户提 供终端用户码。 d) 授权服务器通过用户代理对终端用户进行身份鉴别,并提示用户输入设备的客户端提供的用 户码。授权服务器验证用户提供的用户码,并提示用户接受或拒绝请求。 e) 在终端用户审核客户端授权请求[步骤d)]期间,客户端反复轮询授权服务器,以了解用户是 否完成了用户授权步骤。轮询请求中包含设备代码及其客户端标识符。 f) 授权服务器验证设备的客户端提供的设备码,并在设备的客户端被授予访问权限时响应访问 令牌,如被拒绝访问则返回错误,或者指示设备的客户端继续轮询。 设备授权许可机制中的安全要求应符合B.6。 7.4.2 授权请求 客户端向设备授权服务器发出HTTP“POST”请求,请求中包含如下参数: a) client_id[必选] 6.2中所描述的客户端标识符; b) scope[可选] 请求访问受保护资源的范围。 7.4.3 授权响应 7.4.3.1 正确响应 授权服务器生成唯一的设备码和用户码,并添加到HTTP响应主体中,响应参数如下: a) device_code[必选] 设备码; b) user_code[必选] 用户码; c) verification_uri[必选] 验证URI; d) verification_uri_complete[可选] 包含用户码(或与用户码有相同功能的其他信息)的验证URI,用于非文本传输; e) expires_in[必选] 设备码和用户码的有效期,以秒为单位; f) interval[可选] 客户端在向令牌端点轮询请求之间应该等待的最小时间,如响应中不包含该参数,默认值为 5s。 7.4.3.2 出错响应 如出现错误,则授权服务器发送出错响应,以通知客户端出错原因。 a) error[必选] 错误代码,错误代码类型如下: 1) invalid_request表示请求中丢失了必选参数,或存在无效参数,或重复包含了某个参 数,或是其他形式的格式错误; 2) invalid_client表示客户端身份鉴别失败; 3) invalid_grant表示所提供的授权许可无效、已过期、已撤销、不匹配重定向端点URI,或该 授权许可并非颁发给当前客户端; 4) unauthorized_client表示该客户端无权使用当前方法请求授权码; 5) unsupported_grant_type表示该客户端未被授权使用当前授权许可类型; 6) invalid_scope表示所请求的资源访问范围无效、未知或是形式不当。 error参数的值不包含%x20-21/%x23-5B/%x5D-7E集合之外的字符。 b) error_description[可选] 终端用户可读的ASCII文本,提供附加信息以帮助客户端的开发者理解出现的错误。该参数 的值不包含%x20-21/%x23-5B/%x5D-7E集合之外的字符。 c) error_uri[可选] 用于标识网页,该网页含有终端用户可读的、关于该错误更多信息。该参数的值符合URI-ref- ere......

英文网页English: GB/T 47475-2026

相关标准: GB 46864|GB/T 47470|GB/T 47469|GB 46864|