华为云用户手册

  • 计费周期和规则 按小时计费 需要至少每小时上报一次话单数据,且最好在消费时间下一个小时的0-15分钟内完成上报,譬如,用户消费时间在13:25,最好在14:00-14:15内上报,这样能及时给用户扣费,否则就会出现扣费延迟,如果无法实现实时上报,需要在2小时完成上报 按天计费 推荐每小时将已经明确的用量话单上报到云商店,如果必须每天汇总上报一次,需要保证必须在次日的00:00-00:15内完成上报,最大不能超过01:00,否则用户的扣费会延迟到下一天 按需套餐包扣除及重置规则 套餐包扣除策略 云商店SaaS用完即停套餐包商品,最多支持一次性同时订购30个套餐包,每个套餐包映射一个instance_id(实例id),需要商家通过话单上报接口指定为某个套餐包进行扣除。 套餐包重置规则 不可重置:套餐包内容含量为购买有效期内总共使用量。 按年/按月重置:套餐包内容含量为单位年/月的使用量,套餐包内容总量为单年/月使用量*购买有效期年/月数
  • 联营商品发布概述 联营商品目前支持 接入类型,不同商品类型发布过程中可能涉及到海顿测试、联营Kit对接、自动化部署对接,请参考下表。 接入类型 海顿测试 联营kit对接 自动化部署 商品发布指导 SaaS √ √ × 发布SaaS类联营商品 License √ √ √ 发布License类联营商品 人工服务 × × × 发布人工服务类商品 硬件 √ × × 发布硬件类商品 镜像 √ × √ 发布镜像类商品 API √ × × 发布API类商品 AI资产 × × × 发布AI资产类商品 自2025年4月24日起,联营商品所有接入类型采用新的发布流程。 父主题: 联营商品发布(新)
  • 样例一 以下示例中出现的费用价格仅供参考,实际价格请参见产品价格详情中“ 对象存储服务 ”的内容。 计费场景 某企业基于弹性云服务器(Elastic Cloud Server,E CS )构建好基础的业务后,随着数据增长,硬盘已无法满足大量的图片、视频等数据存取需求。了解到华为云提供有海量、弹性的 云存储 服务OBS后,决定将OBS作为数据存储资源池,以减轻服务器负担。假设该企业在华北-北京四和华东-上海一各有一台 ECS云服务器 ,两台云服务器均向华北-北京四的OBS桶存取数据。 用户操作 具体操作如下: 1、2023年7月1日00:00 UTC,华东-上海一的云服务器往华北-北京四的桶中上传了1000个总大小为1GB的标准存储对象(单AZ),以及1000个总大小为1GB的低频存储对象(单AZ)。 2、2023年7月2日00:00 UTC,华东-上海一的云服务器往华北-北京四的桶中下载了1000个标准存储对象。 3、2023年7月2日00:00 UTC,华北-北京四的云服务器往华北-北京四的桶中下载了1000个标准存储对象。 4、2023年7月2日00:00 UTC,华北-北京四的云服务器对1000个低频存储图片进行图片处理。 5、2023年7月2日08:00 UTC,华北-北京四的云服务器设置生命周期规则,规则将在8天后(7月10号),将华北-北京四的桶中的1000个标准存储转化为低频存储(单AZ),1000个低频存储转换为归档存储(单AZ)。 6、2023年7月20日08:00 UTC,华北-北京四的云服务器下载100个总大小为0.1GB的归档存储文件,归档文件恢复方式为“标准取回”,恢复有效期为10天。 计费构成分析 在ECS上可以通过公网和华为云内网两种网络访问OBS,内网访问需要云服务器与OBS桶放在一个区域。因此华北-北京四的服务器访问华北-北京四的OBS桶,属于内网访问,华东-上海一的服务器访问华北-北京四的OBS桶,属于外网访问。表1是该用户7月份的费用构成。 表1 计费构成 操作分类 详细操作 涉及计费项 单价 计费量 费用 公网上传对象 华东-上海一的云服务器往华北-北京四的桶中上传了1000个标准存储对象,1000个低频存储对象。 请求费用 0.0100元/万次 2000次 0.002元 公网流入流量费用 免费 1GB 0元 单AZ标准存储费用 0.0990元/GB/月 1GB 0.033元 单AZ低频存储费用 0.0800元/GB/月 1GB 0.0267元 公网下载对象 华东-上海一的云服务器往华北-北京四的桶中下载了1000个标准存储对象。 请求费用 0.0100元/万次 1000次 0.001元 公网流出流量费用 0.2500元/GB 1GB 0.25元 内网下载对象 华北-北京四的云服务器往华北-北京四的桶中下载了1000个标准存储对象。 请求费用 0.0100元/万次 1000次 0.001元 内网流出流量费用 免费 1GB 0元 图片处理 华北-北京四的云服务器对1000个低频存储图片进行图片处理。 请求费用 0.1000元/万次 1000次 0.01元 数据处理费用 0~10TB(含):免费 大于10TB:0.0250元/GB 1GB 0 生命周期转换 华北-北京四的云服务器设置生命周期规则,规则将在10天后,将华北-北京四的桶中的1000个标准存储转化为低频存储,1000个低频存储转换为归档存储。 请求费用 0.1000元/万次 2000次 0.02元 单AZ低频存储费用 0.0800元/GB/月 1GB 0.0533元 单AZ归档存储费用 0.0330元/GB/月 1GB 0.022元 低频访问存储提前删除或转换费用 0.0800元/GB/月 1GB 0.0533元 下载归档存储对象 华北-北京四的云服务器下载100个归档存储的文件 请求费用 0.1000元/万次 (加急(1-5分钟)) 0.1000元/万次 (标准(3-5小时)) 100次 0.001元 数据恢复读取流量费用 0.0600元/GB (加急(1-5分钟)) 0.0600元/GB (标准(3-5小时)) 0.1GB 0.006元 临时文件存储费用(单AZ标准存储费用) 0.0990元/GB/月 0.1GB 0.0033元 存储费用: 将存储费用以生命周期转换时间(7月10日)为分界点,分为转换前和转换后两部分来计算: 转换前存储费用=10天1GB的单AZ标准存储费用+10天1GB的单AZ低频存储费用=0.033元+0.0267元=0.0597元 转换后存储费用=21天1GB的单AZ低频存储费用+21天1GB的单AZ归档存储费用+1GB低频访问存储提前删除或转换费用=0.0533元+0.022元+0.0533元=0.1286元 7月总存储费用=转换前存储费用+转换后存储费用+临时文件存储费用(10天0.1GB单AZ标准存储费用)=0.0597元+0.1286元+0.0033元=0.1916元 流量费用: 公网流入和内网流入/流出流量免费,因此7月流量费用如下: 7月总流量费用=1GB公网流出流量费用=0.25元 数据恢复费用: 7月总数据恢复费用=0.1GB数据恢复读取流量费用=0.006元 数据处理费用: 7月总数据处理费用=1GB数据处理费用=0元 请求费用: 7月总请求费用=2000次上传请求费用+2000次下载请求费用+1000次图片处理请求费用+2000次生命周期存储类型转换请求费用+100次数据恢复请求费用=0.002元+0.002元+0.01元+0.02元+0.001元=0.035元 总费用: 7月总费用=7月总存储费用+7月总流量费用+7月总数据恢复费用+7月总数据处理费用+7月总请求费用=0.1916元+0.25元+0.006元+0元+0.035元=0.4826元
  • 旧版接口参数信息 表1 请求参数 参数 是否必选 参数类型 最大字符长度 描述 license M String 64 授权码id heartbeatInfo O HeartbeatInfo / 心跳检测信息 注意: 该字段已日落,上报软件使用情况请对接“授权码软件使用统计”接口,已接入的License软件可继续使用。 heartbeatInfo为Json格式,支持扩充,云商店会校验关键key必输,对于已经对接过该接口的商家,云商店会保持对以往版本的兼容。 表2 HeartbeatInfo 参数 是否必选 参数类型 最大字符长度 描述 thirdParty Account M String 256 三方系统用户唯一标识(代表商家软件内可以代表终端用户唯一性的字符串,如账号ID、设备码等) ip O String 32 客户登录的IP地址 请求示例 { "license" : "PLXXXXXX", "heartbeatInfo":{ "thirdPartyAccount":"myaccount1", "ip":"192.168.1.51" } }
  • URI 旧版接口 POST https://mkt.myhuaweicloud.com/api/mkp-openapi-public/global/v1/license/heartbeat 新版接口 POST https://mkt.myhuaweicloud.com/api/mkp-openapi-public/global/v2/license/heartbeat 仅支持https协议,“mkt.myhuaweicloud.com” 域名 不可用时请使用“mkt.myhuaweicloud.cn”进行重试。 新版接口支持批量查询授权码,商家可以按照自身业务场景选择“新版”和“旧版”接口进行调用,只需调测任意一个版本的接口,都满足接入要求。 需要对mkt.myhuaweicloud.com HTTPS证书进行强校验,不能忽略证书校验,从而保证调用的是真实而非伪造的云商店服务。
  • 请求消息 请求参数说明请参见下表: 请求方法:POST 参数 是否必选 类型 最大字符长度 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 续费场景取值:refreshLicenseCode scene M String 64 场景,触发授权码变更的场景: RENEWAL:续费 UNSUBSCRIBE_RENEWAL_PERIOD:退续费" orderId M String 64 云商店订单ID 说明: 续费或退续费操作会产生新的订单ID,与新购或续费时订单ID不一致。 orderLineId M String 64 云商店订单行ID。 license M String 64 授权码。 productId O String 64 产品标识,租户续费或转正产品授权码时,如果订购周期类型发生变化,会传入变化后的产品类型对应的productId。 expireTime M String 20 过期时间。 格式:yyyyMMddHHmmss testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试请求 默认取值为“0”。 请求消息示例: { "activity":"refreshLicenseCode", "expireTime":"20230523201932", "license":"******", "orderId":"******", "orderLineId":"******", "productId":"******", "scene":"RENEWAL", "testFlag":"1" }
  • 新版接口参数信息 表4 请求参数 参数 是否必选 参数类型 最大字符长度 描述 license_list M String[] 100 授权码,最高支持一次性批量激活100个授权码。 real_effect_time O String 16 实际交付时间(软件的生效时间) 注意: 不能小于客户下单时间。 请求示例 { "license" : ["PL****001","PL****002","PL****003"] }
  • 响应消息 表5 响应参数 参数 是否必选 参数类型 最大字符长度 描述 error_code M String 16 结果码。 error_msg M String 1024 结果消息。 成功响应示例 HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: length Date: response time { "error_code": "92020000", "error_msg": "success" }
  • 响应消息 表2 响应参数 参数 是否必选 参数类型 最大字符长度 描述 error_code M String 16 结果码。 error_msg M String 1024 结果消息。 data O License / 授权码信息 表3 License 参数 是否必选 参数类型 最大字符长度 描述 license_code_info M String 1024 Json字符串,包含以下参数:status状态(ALIVE-正常)、expire_time(过期时间)、product_id(产品id)、order_id(订单号)、amount(数量类型的商品 定价 属性)。 注意: 该参数expire_time有效期为估值,和授权码实际有效期有差别,请以授权码心跳检测接口返回的状态和有效期为准。 成功响应示例 HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: length Date: response time { "error_code": "92020000", "error_msg": "success" , "data": { license_code_info": "{\"status\":\"ALIVE\",\"expire_time\":\"20230726121646\",\"product_id\":\"12345\",\"amount\":2,\"order_id\":\"CS123\"}" } }
  • 请求方法:POST Body参数 参数 是否必选 参数类型 最大字符长度 说明 activity M String 20 接口请求标识,用于区分接口请求场景。 新购场景取值:newInstance orderId M String 64 云商店订单ID。 orderLineId M String 64 云商店订单行ID。 businessId M String 64 云商店业务ID。 每一次请求,businessId皆不一致。 testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试请求 默认取值为“0”。 请求消息示例: curl -X POST 'https://www.isvwebsite.com/saasproduce?signature=11C4CD6279191DE931DEF5C51531DFFA9D37969F4E356B8A3A6D8DE4FB357A48×tamp=1680508066618&nonce=50D83FDECAED6CCD8EF597F2A577950527928BA287D04E6036E92B2806FD17DA' -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf8' -d'{"activity":"newInstance","businessId":"87b94795-0603-4e24-8ae5-69420d60e3c8","orderId":"CS2211181819B4LVS","orderLineId":"CS2211181819B4LVS-000001","testFlag":"0"}'
  • 响应消息 响应参数说明请参见下表: 参数 是否必选 类型 取值范围 参数说明 resultCode M String 6 调用结果码。 000000:表示资源同步开通 000004:表示资源异步开通 具体请参见1.9 调用结果码说明 说明:如果创建实例耗时较长,建议返回0000004,云商店后续会通过查询实例信息接口查询实例开通结果 resultMsg O String 255 调用结果描述。 instanceId M String 64 云商店业务ID。 响应消息示例: { "resultCode":"000000", "resultMsg":"success" , "instanceId":"03pf80c2bae96vc49b80b917bea776d7" }
  • 接口说明 客户购买商品并付款成功,云商店将调用本接口通知商家创建实例 商家需要返回此订单的唯一ID(instanceId)。建议此ID直接使用该订单首次请求时云商店传入的businessId,以确保instanceId的唯一性。 在正常购买场景中,请不要阻塞此接口,如果耗时较长,建议异步创建实例,可以先生成instanceId,然后立即返回。云商店后续会通过查询实例信息接口查询实例开通结果。 如涉及按需、按需套餐包商品,需要对接按需使用量推送(新)接口。 获取订单信息,请参考查询订单接口。 云商店服务有可能重发请求,针对同一订单号(orderId)和订单行(orderLineId),商家的服务器应当返回相同的instanceId,不应该创建新的SaaS实例,返回之前成功创建的实例信息即可。 按需交易场景,需要基于订单号(orderId)和产品标识(productId)构建幂等。 创建实例流程如下图所示:
  • 请求消息 请求参数说明请参见下表: 请求方法:POST 参数 是否必选 类型 最大字符长度 说明 activity M String 32 接口请求标识,用于区分接口请求场景。 释放场景取值:releaseLicenseCode license M String 64 授权码 orderId O String 64 退订商品触发的释放授权码场景下会传递退订订单 orderLineId O String 64 云商店订单行ID。 testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试业务 默认取值为“0”。 请求消息示例: { "activity":"releaseLicenseCode", "license":"*******", "orderId":"******", "orderLineId":"******", "testFlag":"1" }
  • 请求消息 请求参数说明请参见下表: 请求方法:POST 参数 是否必选 类型 最大字符长度 说明 activity M String 32 接口请求标识,用于区分接口请求场景。 变更授权码状态场景取值:updateLicenseCodeStatus license M String 64 授权码 status M String 32 变更状态: FREEZE:冻结 UNFREEZE:解冻 testFlag O String 2 是否为调试请求。 1:调试请求 0:非调试业务 默认取值为“0”。 请求消息示例: { "activity":"updateLicenseCodeStatus", "license":"******", "status":"FREEZE", "testFlag":"1" }
  • 资产安全检测标准 商家提交应用资产发布申请后,云商店会对资产中的软件包进行自动化安全扫描,扫描内容如下 检测项 具体要求 病毒扫描 软件包不能包含病毒、木马、恶意程序 软件包 漏洞扫描 软件包不能包含CVSS评分≥7.0的高风险级别的漏洞。 支持检测文件的编程语言类型:C/C++/Java/Go/JavaScript/Python/Rust/Swift/C#/PHP。 支持检测的文件:.7z、.arj、.cpio、.phar、.rar、.tar、.xar、.zip、.jar、.apk、.war等格式文件,及Android OTA Images、Android sparse、Intel HEX、RockChip、U-Boot等固件。
  • 接口安全令牌 在云商店发布License类授权码商品时,商家需要开发生产接口与云商店平台对接,根据接口规则实现相关的接口定义。用户在云商店对购买License商品续费、退订后,云商店会回调商家实现的生产接口来更新授权码状态,从而为用户使用的License商品统一进行生命周期管理。每一次接口调用都必须进行安全校验,本文为您介绍接口的安全令牌方案。 获取Key值(访问密钥) 请求认证说明 父主题: 商家接入接口描述(可选)
  • 接入流程 License类授权码商品接入云商店的流程如下图所示: 流程说明如下: 申请入驻云商店,成为服务商(即云商店商家)。 云商店运营人员审核公司的资质信息。 根据本接入指南,集成云商店开放接口描述。 在卖家中心申请测试授权码,调测云商店授权码开放接口。 准备生产接口服务器,根据本接入指南开发生产接口(可选)。 在卖家中心调试商家接入生产接口(可选)。 发布应用资产,选择对接License授权码。 在卖家中心申请发布联营License商品。 云商店运营人员审批通过后商品发布成功。 联营License类商品接入可参考《License类商品接入视频指导(2.0)》。 父主题: 联营License类授权码商品接入指南
  • 状态行 状态行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF HTTP-Version:表示服务器HTTP协议的版本号。 Status-Code:表示服务器发回的响应状态代码。 状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息,表示请求已接收,继续处理。 2xx:成功,表示请求已被成功接收、理解、接受。 3xx:重定向,要完成请求必须进行更进一步的操作。 4xx:客户端错误,请求有语法错误或请求无法实现。 5xx:服务器端错误,服务器未能实现合法的请求。 Reason-Phrase:表示状态代码的文本描述。
  • 请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下: Method Request-URI HTTP-Version CRLF Method:表示请求方法(所有方法全为大写),各个方法的解释如下: GET:请求获取Request-URI所标识的资源。 POST:在Request-URI所标识的资源后附加新的数据。 PUT:请求服务器存储一个资源,并用Request-URI作为其标识。 DELETE:请求服务器删除Request-URI所标识的资源。 Request-URI:是一个统一资源标识符。 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。URI中“{}”中包含的内容为URI的参数,其中“?”之前的部分是路径参数,之后的部分是查询参数。HTTP-Version:表示请求的HTTP协议版本。 CRLF:表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。
  • 举例 商家收到的调用请求数据示例如下: curl -X POST -H 'Content-Type: application/json' 'https://www.isvwebsite.com/saasproduce?signature=af71c5a7ef45310b8dc05ab15f7da50189ffa81a95cc284379ebaa5eb61155c0×tamp=1716363778801&nonce=RLLUammMSInlrNWb' --data '{"activity":"newInstance","buyerInfo":{"customerId":"688055390f3049f283fe9f1aa90f1858","customerName":"CBC_marketplace_mwx616072_01","userId":"1e86066c22754361933f607df834e4fe","userName":"CBC_marketplace_mwx616072_01","mobilePhone":"18652996659","email":"mapengfei8@huawei.com"},"orderInfo":[{"businessId":"8a2c4e6f-405a-4f8d-8e24-f41090522646","orderId":"CS2210101920BWXLK","trialFlag":"0","orderAmount":12.78,"chargingMode":"PERIOD","periodType":"month","periodNumber":5,"provisionType":1,"productInfo":[{"skuCode":"a63ee5c9-4f86-11ed-9f95-fa163e8cb3b2","productId":"OFFI788963615933718528","linearValue":20}],"createTime":"20221024194509","expireTime":"20221224194509","extendParams":[{"name":"emailDomainName","value":"test.xxxx.com"},{"name":"extendParamName","value":"extendParamValue"}]}],"testFlag":"1"}'
  • 生成规则 对请求参数排序,根据参数名自然排序,例如,以字母a开头的参数名会排在以b开头的参数前面,如果首字母相同,将会对第二个字母进行排序,以此类推,直到字符串结束 根据规则对规范请求字符串,密钥取x-sign值,规则: canonicalRequest = accessKey + nonce + timestamp + RequestPayload x-sign = HexEncode(HMAC_SHA256(canonicalRequest))
  • 定义 云商店每次调用商家的接口时会根据一定规则对请求生成signature,并且将signature通过URL PA RAM S的方式添加到URL上,商家在接收到请求后需要同样的规则对请求体进行重新计算signature,并且与云商店传递的signature相比较,完全相同即为校验通过,通过URL PARAMS传递的参数有: 参数 取值 描述 signature String 加密签名,通过一定的规则对请求进行签名产生的值。 timestamp Long UNIX 时间戳(单位毫秒),商家需要校验这个时间戳与当前时间相差不超过60s。 nonce String 随机字符串,云商店在每次调用时会随机生成,商家可以通过对这个随机数的缓存来防御API重放攻击。
  • 举例 商家收到的调用数据示例如下: 请求示例: POST https://example.isv.com/produceAPI/v2/tenantSync Content-Type: application/json x-sign:11C4CD6279191DE931DEF5C51531DFFA9D37969F4E356B8A3A6D8DE4FB357A48 x-timestamp:1680508066618 x-nonce:50D83FDECAED6CCD8EF597F2A577950527928BA287D04E6036E92B2806FD17DA {"instanceId": "huaiweitest123456","orderId": "CS1906666666ABCDE","tenantId": "68cbc86****************880d92f36422fa0e","tenantCode": "huawei","name": "huaiweitest","domainName": "https://example.tenantaccount.com","flag": 1,"testFlag": 0,"timeStamp": "20220413093539534"} 响应示例: HTTP/1.1 200 OK Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" }
  • 生成规则 对请求参数排序,根据参数名自然排序,例如,以字母a开头的参数名会排在以b开头的参数前面,如果首字母相同,将会对第二个字母进行排序,以此类推,直到字符串结束 获取规范请求字符串,规则: canonicalRequest = accessKey + nonce + timestamp + Lowercase(HexEncode(HMAC_SHA256 (RequestPayload))) 3.根据规则对规范请求字符串,密钥取signature值,规则: signature = HexEncode(HMAC_SHA256(canonicalRequest))
  • 定义 云商店每次调用商家的接口时会根据一定规则对请求生成x-sign,并且将x-sign通过HEADER PARAMS的方式添加到URL上,商家在接收到请求后需要同样的规则对请求体进行重新计算x-sign,并且与云商店传递的x-sign相比较,完全相同即为校验通过,通过HEADER PARAMS传递的参数有: 参数 取值 描述 x-sign String 加密签名,通过一定的规则对请求进行签名产生的值。 x-timestamp String UNIX 时间戳(单位毫秒),商家需要校验这个时间戳与当前时间相差不超过60s。 x-nonce String 随机字符串,云商店在每次调用时会随机生成,商家可以通过对这个随机数的缓存来防御API重放攻击。
  • 获取用户信息 GET /api/v1/oauth2/userinfo 请求参数 请求Header参数 参数 是否必选 参数类型 描述 Accept 是 String 接收响应类型,值:application/json。 Authorization 是 String 认证凭据,值:Bearer {access_token}。 响应参数 状态码: 200 响应Body参数 参数 参数类型 描述 id String 用户ID userName String 用户名 name String 姓名 email String 邮箱地址 mobile String 手机号 role String 角色 organizationName String 组织名称 accName String 登录名称 userId String 用户id organizationCode String 组织编码 loginName String 登录名称 projectName String 租户名称 tenant String 租户id 状态码: 401 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。 请求示例 GET https://{domain_name}/api/v1/oauth2/userinfo Authorization: Bearer b7e1fda8-33ce-432c-9b97-7ff035fac... Accept: application/json 响应示例 状态码: 200 请求成功。 { "id" : "20201029190841785-CB37-8BD36B...", "name" : "test", "userName" : "test", "mobile" : "12345678901", "email" : "123@example.com" } 状态码: 401 认证失败。 { "error" : "unauthorized", "error_description" : "Full authentication is required to access this resource" } 状态码 状态码 描述 200 请求成功。 401 认证失败。
  • 获取AccessToken POST /api/v1/oauth2/token 请求参数 FormUrlEncoded参数 参数 是否必选 参数类型 描述 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。 code 是 String 授权码,认证登录后回调获取的授权码。 grant_type 是 String 授权类型,固定值:authorization_code。 redirect_uri 否 String 回调地址,注册应用时填写的回调地址,需跟注册时保持一致。 响应参数 状态码: 200 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in Long 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。默认不生成refresh_token,如果需要,在应用的"认证配置”中设置"Refresh Token有效期”后生成返回。 refresh_token有效期设置应比access_token长。 状态码: 400 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。 请求示例 POST https://{domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded code=z2D...& client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...& client_secret=******...& redirect_uri=https://example.com& grant_type=authorization_code 响应示例 状态码: 200 请求成功。 示例 1 · { · "access_token" : "******...", · "token_type" : "Bearer", · "expires_in" : "7200", · "scope" : "get_user_info" } 示例 2 · { · "access_token" : "******...", · "token_type" : "Bearer", · "expires_in" : "7200", · "scope" : "get_user_info", · "refresh_token" : "******..." } 状态码: 400 请求错误。 { "error" : "invalid_grant", "error_description" : "Invalid authorization code" } 状态码 状态码 描述 200 请求成功。 400 请求错误。
  • 认证登录获取授权码 GET /api/v1/oauth2/authorize Query参数 参数 是否必选 参数类型 描述 client_id 是 String 应用标识,注册应用后,分配的ClientId。 redirect_uri 是 String 回调地址,注册应用时填写的回调地址,表示应用接收 OneAccess 授权码的地址。 response_type 是 String 授权类型,固定值:code。 scope 否 String 授权范围 ,默认值:get_user_info。 state 否 String 应用的状态值。可用于防止CSRF攻击,成功授权后回调应用时会原样带回,应用用它校验认证请求与回调请求的对应关系。可以包含字母和数字。 请求参数 无 响应参数 状态码: 302 响应Header参数 参数 参数类型 描述 Location String 认证登录成功,重定向地址。例:https://example.com?code=z2D...&state=test 请求示例 GET https://{domain_name}/api/v1/oauth2/authorize?response_type=code&client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...&redirect_uri=https://example.com&scope=get_user_info&state=test 响应示例 无 状态码 状态码 描述 302 用户未登录,跳转用户登录页面; 用户已登录,携带授权码重定向到redirect_uri地址。例:https://example.com?code=z2D...&state=test。
  • 登录须知 开天aPaaS 企业工作台登录访问提供三种类型: 浏览器(推荐chrome)、PC客户端和移动端。 SaaS应用可以是轻应用(H5)或基于WEB架构应用,这些SaaS应用都经过oAuth或者CAS协议改造。 以oAuth2.0协议应用为例,企业用户首先通过用户名及密码登录 企业工作台 ,成功登录后,用户在企业工作台中点击某个SAAS应用, 企业工作台获取认证中心地址,并查询应用的回调址,并发起认证授权申请,回调成功后,SAAS应用获取Code及租户的ID,通过API获取accessToken及用户信息。 父主题: 联营账号基于开天aPaaS企业工作台登录
  • 生成AK、SK 注册并登录云商店,点击云商店首页右上角的“卖家中心”,进入卖家中心后台。 点击卖家中心左上角的“控制台”,进入管理控制台。 单击页面右上角的用户名,在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 单击页面左侧导航中的“管理访问密钥”,进入“访问密钥”页面。 单击“新增访问密钥”,进入“新增访问密钥”页面。 输入短信验证码,单击“确定”,下载密钥,请妥善保管。 父主题: 获取AK/SK认证
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全