业务H5网页通过配置信息,请求认证H5页面,完成认证流程。
https://h5.kych5.com
配置redirectUrl,在完成认证后会携带返回结果,例如:https://example.com
完成认证会返回:https://example.com?sessionToken=xxxx&result=xxx&errorCode=xxx&algorithmBaseRespCode=xxx&reqMeasureInfo=xxx
参数 | 类型 | 是否必填 | 取值 | 功能描述 |
---|---|---|---|---|
accessKeyId | string | 必填 | -- | 用于请求所有服务端接口鉴权参数,accessKeyId、secretAccessKey、sessionToken分别对应sts_ak,sts_sk,sts_token,参考**获取文档** |
secretAccessKey | string | 必填 | -- | |
sessionToken | string | 选填 | -- | |
redirectUrl | string | 必填 | -- | 认证完成(成功/失败)后返回结果的callback回调页面的URL地址,回调参数结构见下 |
type | number | 可选,默认0 | 0 | 默认取值。正常流程:OCR识别+输入身份证号和姓名+活体认证。 |
1 | 跳过OCR上传流程,直接进入输入身份证号和姓名。 | |||
2 | 跳过输入身份证号和姓名,直接进行活体认证流程。 | |||
source | number | 选填 | 0 | 无源,仅type选值为2时需要填写 |
1 | 有源,仅type选值为2时需要填写 | |||
bytedToken | string | 选填 | -- | 仅type选值为2时需要填写,由服务端Token接口返回 |
clientConfig | string | 选填 | -- | 仅type选值为2时需要填写,客户端的配置信息,由服务端Token接口返回 |
stsAk | string | 选填 | -- | TOS使用的STS AK |
stsSk | string | 选填 | -- | TOS使用的STS SK |
stsToken | string | 选填 | -- | TOS使用的STS Token |
bucket | string | 选填 | -- | TOS使用的Bucket |
endpoint | string | 选填 | -- | TOS使用的Endpoint |
region | string | 选填 | -- | TOS使用的Region |
showResult | number | 可选,默认1 | 0 | 不展示完成结果页,直接返回redirectUrl |
1 | 默认取值,展示完成结果页 | |||
protocolName | string | 选填 | -- | 自定义协议名称 |
protocolLink | string | 选填 | -- | 自定义协议链接,点击事件触发后会添加回调参数callbackUrl,可通过history.back()方法或者callbackUrl再次返回认证流程 |
demoteType | number | 可选,默认0 | 0 | 服务端动作活体 |
1 | 服务端静默活体 | |||
styleConf | string | 选填 | -- | 自定义样式颜色,可配置覆盖默认样式,接入参考styleConf接入说明 |
protocolNav | number | 可选,默认0 | 0 | 不展示协议导航栏 |
1 | 展示协议导航栏 | |||
protocolNavTitle | string | 选填 | -- | 协议导航栏标题,默认值"实名认证" |
configId | string | 选填 | -- | 固定配置ID,固定配置的说明与使用方式请参考Config接口 |
guidePage | number | 可选,默认1 | 0 | 不展示引导页 |
1 | 展示引导页 | |||
pageNav | number | 可选,默认1 | 0 | 不展示页面导航栏 |
1 | 展示页面导航栏 | |||
pageTitle | string | 选填 | -- | 页面标题,默认值"实名认证",填写0时不展示页面标题 |
// 部分配置,详细看配置参数 const config = { "--theme": "rgba(136, 91, 210, 1)", "--theme-btn_color": "#fff", "--mask_bg-color": "rgba(56, 0, 128, 0.4)" } const str = JSON.stringify(config) const result = window.encodeURIComponent(str) // 转换结果拼接到URL参数styleConf // 拼接示例:https://h5.kych5.com?styleConf=%7B%22%24theme%22%3A%22rgba(136%2C%2091%2C%20210%2C%201)%22%2C%22%24theme-btn_color%22%3A%22%23fff%22%2C%22%24mask_color%22%3A%22rgba(56%2C%200%2C%20128%2C%200.4)%22%7D
/** 主题色 **/ --theme: rgba(136, 91, 210, 1); --theme-btn_color: #fff; --danger-error: #ff4c5b; /** 遮罩背景色 **/ --mask_bg-color: var(--theme); /** 引导页 **/ --guide-btn_color: var(--theme-btn_color); /** 开始身份认证按钮 **/ --guide-btn_bg-color: var(--theme); --guide-sub-btn_color: var(--theme-btn_color); /** 提示服务协议按钮 **/ --guide-sub-btn_bg-color: #2b2b2c; --guide-protocol_color: var(--theme); /** 协议颜色 **/ --guide-protocol-radio_color: var(--theme); /** 协议radio颜色 **/ /** OCR上传身份证页面 **/ --ocr-camera-icon_color: var(--theme-btn_color); /** 相机icon **/ --ocr-camera-icon_bg-color: var(--theme); --ocr-btn_color: var(--theme-btn_color); /** 提交按钮 **/ --ocr-btn_bg-color: var(--theme); --ocr-upload-btn_color: var(--theme-btn_color); /** 重新上传按钮 **/ --ocr-upload-btn_bg-color: var(--theme); /** OCR识别结果页面 **/ --ocr-result-btn_color: var(--theme-btn_color); /** 提交按钮 **/ --ocr-result-btn_bg-color: var(--theme); /** 动作活体认证页面 **/ --active-circle_color: var(--theme); /** 进度圆框 **/ --active_bg-color: rgba(255, 255, 255, 0.9); /** 背景 **/ /** 认证结果页面 **/ --result-try-btn_color: var(--theme-btn_color); /** 重试按钮 **/ --result-try-btn_bg-color: var(--theme); --result-ok-btn_color: var(--theme-btn_color); /** 完成按钮 **/ --result-ok-btn_bg-color: var(--theme); --result-exit-btn_color: var(--theme-btn_color); /** 退出按钮 **/ --result-exit-btn_bg-color: var(--danger-error); /** 服务端动作活体引导页面 **/ --demote-active-btn_color: var(--theme-btn_color); /** 开始录制按钮 **/ --demote-active-btn_bg-color: var(--theme); --demote-active-text_color: var(--theme); /** 提示文案颜色 **/ --demote-active-radio_color: var(--theme); /** radio颜色 **/ /** 服务端静默活体引导页面 **/ --demote-still-btn_color: var(--theme-btn_color); /** 开始录制按钮 **/ --demote-still-btn_bg-color: var(--theme);
参数 | 类型 | 功能描述 |
---|---|---|
bytedToken | string | 服务端Query接口需要的byted_token参数 |
result | boolean | 验证结果是否通过,建议业务侧使用该字段来确认本次认证是否成功 |
errorCode | number | 通用错误码,建议业务侧在认证失败的情况下对该字段进行判断 |
algorithmBaseRespCode | number | 服务端子错误码,建议业务侧在认证失败的情况下对该字段进行判断 |
reqMeasureInfoValue | number | 是否计费,取值为0或1 |
uuid | string | 查询日志需要的参数 |
客户端错误码:
通用错误码 | 错误码说明 |
---|---|
10000 | 请求成功 |
40001 | 浏览器中拒绝获取权限 |
40002 | 非权限问题,其他原因导致浏览器中访问摄像头失败 |
40003 | 动作活体失败,无剩余尝试次数 |
服务端错误码:
通用错误码 | 错误码说明 |
---|---|
10000 | 请求成功 |
50200 | 参数错误 |
50201 | 缺少参数 |
50204 | 参数类型错误/参数缺失 |
50205 | 图像尺寸超过限制。输入为图片时可能返回此错误。 |
50206 | 请求参数中没有获取到图像。输入为图片时可能返回此错误。 |
50207 | 图像解码错误。输入为图片时可能返回此错误。 |
50209 | 请求参数中没有获取到视频。输入为视频时可能返回此错误。 |
50210 | 视频解码错误。输入为视频时可能返回此错误。 |
50211 | 视频尺寸超过限制。输入为视频时可能返回此错误。 |
50213 | 请求Body过大,超过10MB限制。 |
50214 | 输入视频时长过大 |
50215 | 请查看认证子错误码了解具体含义。认证子错误码说明见下方。 |
60102 | 算法服务需要输入人脸图,但未检测到 |
50400 | 权限校验失败,没有接口权限/时间戳参数不正确/签名字段错误。 |
50402 | 访问的接口不存在。 |
50429 | 超过调用QPS限制。 |
50500 | 服务器内部错误。 |
50501 | 服务器内部RPC错误。 |
详细见: 错误码和计费