检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
用通过API网关开放的云服务API,提供签名流程与实现逻辑,以及Java、Go、Python、C等多种不同语言的签名SDK和调用示例。 部分云服务开放的API,不通过API网关,签名认证流程请先参考云服务自身提供的API参考手册。 各云服务API参考手册中的“如何调用API”章节,介绍了认证方法。
本节以IntelliJ IDEA工具为例,介绍如何在Go环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备IDEA开发环境 获取并安装IntelliJ
规范URI,即请求资源路径,是URI的绝对路径部分的URI编码。 格式: 根据RFC 3986规范化URI路径,移除冗余和相对路径部分,路径中每个部分必须为URI编码。如果URI路径不以“/”结尾,则在尾部添加“/”。 举例: URI具体见云服务的API参考手册,每个API章节都提供对应的资源路径。如虚
用于组成请求URL的Endpoint和URI。 用于签名和认证的AK/SK。 用于区分租户的项目ID、子项目ID。 用于区分租户的账号名、账号ID。 用于API的环境信息。 用于Host的域名信息。 表1 信息收集项 信息项 说明 Endpoint 地区与终端节点,即云服务在不同Region有不同的访问域名。
"signer.h" 生成一个新的Signer,将AK/SK分别填入。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
0301", "request_id": "******" } 可能原因 用户的API所属IAM认证,TOKEN解析失败。 解决办法 检查获取token的方法,token是否正确。 检查获取token的环境与调用的环境是否一致。 Incorrect IAM authentication
获取EndPoint 地区与终端节点,即云服务在不同Region有不同的访问域名。 获取方式请参考地区和终端节点。 本手册所有关于请求URL的举例,其中Endpoint以service.region.example.com为例。 父主题: AK/SK签名认证操作指导
本节以Visual Studio工具为例,介绍如何在C#环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装Visual Studio
获取账号名和账号ID 在调用接口的时候,部分URL中需要填入账号名和账号ID,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号ID
本节以IntelliJ IDEA版本为例,介绍如何在Python环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IntelliJ IDEA
生成一个sig_params_t类型的变量, 填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。 打
401 APP认证信息错误 APP签名认证时,做如下检查: 检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致 检查客户端机器时间是否正确 请参考使用APP认证调用API检查签名代码的问题。 APPCODE简易认证时,做如下检查:检查请求是否携带了X-Apig-AppCode头域
请在消息头添加以下参数和参数值: X-Security-Token:{securityToken} 然后使用临时AK/SK对请求进行签名,签名SDK与AK/SK的签名SDK一致。 创建一个API,安全认证选择“华为IAM认证”,并发布。 获取当前账号的临时AK/SK与{secu
Java 本节以IDEA工具为例,介绍如何在Java环境中集成API请求签名的SDK。您可以直接导入示例代码,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IDEA 2022.2.1
本节以IntelliJ IDEA工具为例,介绍如何在PHP环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IntelliJ IDEA
Signature=signature 需要注意的是算法与Access之前有空格但没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: SDK-HMAC-SHA256 Access=QTWA***KYUC, SignedHea
创建request,输入AK和SK,并指定域名、方法名、请求uri和body。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux系统为例在本地将已获取的AK/SK设置为环境变量。
IDEA工具为例,介绍如何在Js环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 以搭建Node.js开发环境为例介绍JavaScript的SDK集成。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境
"request_id": "cb141a91c945e6***14a8eff5d62dc" } 可能原因 签名认证算法使用有问题,客户端计算的签名结果与API网关计算的签名结果不同。 解决方法 请参考Incorrect IAM authentication information: verify