调用 GenerateAliyunBidCertWaysUrl 为虚商客户添加实名认证信息。

接入说明

调用 GenerateAliyunBidCertWaysUrl 时,公共请求参数中的 AccessKeyId 必须为虚商主账号的密钥 ID。

获取到接口返回的结果,是一个URL,此URL3小时有效,业务可以直接在URL中操作完成实名认证

参数说明

公共参数

字段名称 字段类型 是否必填 描述
Format String 返回值的类型,支持 JSON 与 XML。默认为 XML。
Version String 这里固定传2015-07-01
AccessKeyId String 访问服务使用的密钥ID在调用其他接口时该参数为虚商伙伴主账号的密钥 ID。
Signature String 签名结果串,关于签名的计算方法,请参见签名机制
SignatureMethod String 签名方式,目前支持 HMAC-SHA1
Timestamp String 请求的时间戳。日期格式按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDTHH:MM:SSZ。例如,2016-05-23T12:00:00Z(北京时间2016年5月23日20点0分0秒)
SignatureVersion String 签名算法版本,目前版本是1.0
SignatureNonce String 唯一随机数,用于防止网络重放攻击。用户在不同请求间要使用不同的随机数值

业务参数

字段名称 字段类型 是否必填 字段说明 示意 字段描述
action String 必填 接口名称 GenerateAliyunBidCertWaysUrl 接口名称,默认传GenerateAliyunBidCertWaysUrl
AliyunPk String 必填 阿里云主账号uid 123*******789 被实名认证的账号的阿里云数字 ID
BidType String 必填 虚商类型 LIGHTWEIGHT 虚商类型NORMAL:普通虚商(默认值)LIGHTWEIGHT:轻量级虚商
Platform String 必填 业务方所在的平台类型 pc 这里有3个可选值pc (表示URL需要在电脑pc中打开)h5 (表示URL需要在h5中打开)app (表示URL需要在app中打开)
SubjectType String 必填 认证类型 all 这里有3个可选值all : 可以选择个人实名认证和企业实名认证personal 只可以选择个人实名认证enterprise 只可以选择企业实名认证
Source String 必填 业务来源 BID 固定传BID
IsOpenApp Boolean 必填 选择支付宝快速认证的时候是否需要唤醒支付宝app。一般在移动端都需要填true true true或者false
IsMobile Boolean 必填 选择支付宝快速认证的时候,支付宝授权的页面是否需要移动端样式。一般在移动端都需要填true true true或者false

返回值

字段 说明
RequestId requestId,用来追踪请求
Data 返回的实名认证的URL,客户需要在自己的虚商系统展示开。
Success 请求成功或者失败,Success=true表示成功否则表示失败
Code 错误代码
Message Success=false或者为空的时候返回的错误信息
//请求成功的示意
{
  "RequestId":"7A4326A9-5B17-5BB2-B95D-4CE1EAAD55B9",
    // 此url直接在业务方对应的平台打开
 "Data":"https://account.aliyun.com/cert/listCertWays.html?token=YWxpeXVuSWxxxxxxxxxxdXRQa2RGY0R4Q3BoVjZ5M3ZuemdHRQ==",
 "Success":true
    }

// 请求失败的示意

{
  "RequestId":"382AD1A2-0641-55EB-A113-395A45AC80C7",
"Message":"Specified signature is not matched with our calculation. server string to sign is:POST&%2F&AccessKeyId%3DLTxxxxxxg0N7cz5%26Action%3DGenerateAliyunBidCertWaysUrl%26AliyunPk%3D1039740447764893%26BidType%3DLIGHTWEIGHT%26Format%3Djson%26IsMobile%3Dtrue%26IsOpenApp%3Dtrue%26Platform%3Dpc%26SignatureMethod%3DHmac-SHA1%26SignatureNonce%3Dcac135a3-a3f3-4b11-9cc8-2479bd2c4fb2%26SignatureVersion%3D1.0%26Source%3Decs%26SubjectType%3Dall%26Timestamp%3D2021-09-28T09%253A37%253A17Z%26Version%3D2015-07-01",
"Code":"SignatureDoesNotMatch"
}
            

错误信息

HttpCode 错误代码 错误提示 错误描述
400 Empty PK The input parameter 'PK' mandatory for processing this request is not supplied. PK 不能为空
403 Not Bid The interface can not be called by a non-bid account 调用方不是一个虚商用户
403 Bid Mismatch Pk is not belong to the Bid. 被调用方不属于此虚商用户(即被调用的阿里云 PK 并非由此虚商创建)
404 Invalid PK The specified parameter 'PK' does not exist in our records. 此 PK 对应的账号不存在
400 Already Certified Account is already certified 此账号已实名认证,旧信息不会覆盖
404 InvalidApi.NotFound InvalidApi.NotFound 虚商平台需要通过CBM联系阿里云主账号接口提供方根据虚商主账号uid开通接口权限,否则出现 InvalidApi.NotFound 错误
404 InvalidAccessKeyId.NotFound InvalidAccessKeyId.NotFound AccessKeyId 不存在
400 SignatureNonceUsed SignatureNonceUsed 15分钟内使用相同的SignatureNonce发送请求,则会返回该错误。如果您是自己封装请求,请确保每次请求使用的SignatureNonce不一样,建议使用uuid作为SignatureNonce
400 SignatureDoesNotMatch SignatureDoesNotMatch 签名计算错误,请确认签名算法

前端接入

嵌入 FastAuthc

// src 是你通过接口获取的链接
<iframe src={src} />

监听 FastAuthc

//由于 FastAuthc 是通过 IFrame 的形式接入到你的应用中,需要用 Event 来进行双边通信
window.addEventListener("message", (e) => {
  const { data }  = e;
  console.log(data);
})

数据结构

// Data 为 FastAuthc 发送出的消息 data 的数据结构如下
// data 的数据结构如下
{
    success: boolean;
        type: MessageType;
    data: any; // (额外附加信息)
}
    
//MessageType 为 FastAuthc 发送消息的时机
export enum MessageType {
  INIT = "aliyun_fast_auth_init", // 页面初始化
  LATER = "aliyun_fast_auth_later", // 暂不认证
  ANOTHER_AUTHC_WAY = "aliyun_fast_auth_another_authc_way", // 选择其他认证方式
  AUTHC_SUCCESS = "aliyun_fast_auth_success", // 认证成功
  AUTHC_FAIL = "aliyun_fast_auth_fail", // 认证失败
  RE_AUTHC = "aliyun_fast_auth_re_authc", // 重新认证
  OPEN_ALIPAY = "aliyun_fast_auth_open_alipay", // 打开支付宝认证页
}
//认证失败的例子
{
    success: true,
    type: "fail",
    data: {
      reason: "认证失败的原因",
    },
}
//其他情况
{
    success: true,
    type: 对应情况的 MessageType,
    data: {},
}

附录

签名 https://help.aliyun.com/document_detail/91847.htm#concept-2041363

公共参数 https://help.aliyun.com/document_detail/91846.html