获取个人静默签授权令牌接口
描述
需要通过小程序进行个人静默签授权时,由于小程序无法直接访问个人静默签授权接口页面,需要先调用本接口获取小程序令牌(ticket),再按照小程序接续说明拼装好链接地址后进行调用
请求地址
/v2/personalsign/authurl/miniappexchange
请求方式
POST
请求格式
application/json
请求参数
| 参数 | 是否必填 | 类型 | 描述 |
|---|---|---|---|
| user | 是 | User | 授权用户信息 |
| authDeadline | 是 | String | 授权截止时间 1、超出授权截止日期后,授权自动失效 2、支持输入精确到分。如果只传到日期,则默认精确到当日的23:59:59 |
| remark | 是 | String | 授权理由,500字以内 |
| callbackUrl | 否 | String | 授权回调地址 授权成功或取消后,向回调地址回调授权信息 |
| tenantName | 否 | String | 下级法人单位名称 若授权给下级法人单位,则需要传递该值,用于确定授权主体 |
| authMethod | 否 | String | 授权方式 1、传值URL(页面链接)时,通过接口返回授权链接地址URL,授权用户可通过链接页面授权 2、传值SMS(短信)时,向授权用户通过短信发送授权链接地址,授权用户可通过链接页面授权 3、默认为URL(页面链接) |
| authInfo | 否 | UserAuthInfo | 指定授权用户的认证信息 1、授权方式为短信(SMS)时,可以指定授权用户信息,指定后通过短信打开授权链接时,仅能以指定的用户信息进行身份认证和授权。 2、不指定授权用户信息时,用户自行填写授权用户信息。 |
| pageStyle | 否 | PageStyle | 自定义页面风格 |
| allowPersonalAuto | 否 | Boolean | 是否允许授权系统自动生成的楷体签名 1、true:允许授权;默认为true 2、false:不允许授权 |
| authTimeModifiable | 否 | Boolean | 授权时是否允许修改授权截止时间: 1、传值false(不允许修改):授权页面默认为接口传入的授权截止时间,且不能修改 2、传值true(可修改):授权时间可修改 3、默认为true(可修改) |
User:
| 参数 | 是否必填 | 类型 | 描述 |
|---|---|---|---|
| contact | 是 | String | 用户联系方式 |
| contactType | 是 | String | 联系类型: MOBILE(手机号),EMAIL(邮箱),EMPLOYEEID(员工ID),NUMBER(员工编号) |
UserAuthInfo:
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| mode | String | 否 | 实名认证模式 1、IVS(三要素)、FACE(人脸认证)、ALIPAY(支付宝认证)、BANK(银行卡认证) 2、默认为DEFAULT(不指定认证模式,默认使用可使用的所有认证) |
| paperType | String | 否 | 证件类型 1、IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证) 2、默认为IDCARD |
| username | String | 否 | 指定用户认证名称 |
| idCardNo | String | 否 | 指定用户身份证号 |
| bankNo | String | 否 | 指定用户银行卡号 |
| bankMobile | String | 否 | 指定用户银行卡预留手机号 |
| otherModes | List | 否 | 降级认证方式可选项 (三要素-IVS,人脸认证-FACE,支付宝认证-ALIPAY,银行卡认证-BANK, 人工审核-MANUAL) |
| modifyFields | List | 否 | 认证可修改项 (姓名-USERNAME,身份证-IDCARDNO,银行卡号-BANKNO,银行卡预留手机号-BANKMOBILE) |
PageStyle(页面风格):
| 参数 | 类型 | 必须 | 描述 |
|---|---|---|---|
| themeColor | String | 否 | 自定义页面主题色,RGB颜色(16进制),默认取业务系统令牌配置的主题色 |
返回参数
| 参数 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码 |
| message | String | 响应消息 |
| result | Result | 授权页面数据 |
Result(授权页面数据):
| 参数 | 类型 | 描述 |
|---|---|---|
| ticket | String | 令牌内容 |
响应码
(全局响应码请查看文档末“全局响应码”):
| 响应码 | 描述 |
|---|---|
| 1902 | USER MOBILE NOT FOUND,该用户尚未绑定手机号,无法 通过该方式进行授权(SMS授权) |
| 2101 | SMS AUTH APPLY LIMIT,24小时内仅能申请3次,请稍后 重试(SMS授权) |
| 2101 | SMS AUTH APPLY LIMIT,已发送授权申请,1分钟内仅能 申请1次,请稍后重试(SMS授权) |
请求示例
Http示例
POST /v2/personalsign/authurl/miniappexchange HTTP/1.1
Host: openapi.qiyuesuo.cn
x-qys-open-accesstoken: [替换为请求头生成的Accesstoken]
x-qys-open-timestamp: [替换为请求头生成的Timestamp]
x-qys-open-signature: [替换为请求头生成的Signature]
Content-Type: application/json
Content-Length: 157
{
"user": {
"contact":"131xxxxxxxx",
"contactType":"MOBILE"
},
"authDeadline":"2022-06-15",
"remark":"auth 54",
"callbackUrl":"http://cloud.qiyuesuo.me"
}
Java示例
// 初始化sdkClient
String serverUrl = "https://openapi.qiyuesuo.cn";
String accessKey = "替换为您申请的开放平台App Token";
String accessSecret = "替换为您申请的开放平台App Secret";
SdkClient sdkClient = new SdkClient(serverUrl, accessKey, accessSecret);
PersonalSignAuthUrlRequest request = new PersonalSignAuthUrlRequest(new User("131xxxxxxxx", "MOBILE"),"2022-06-16", "auth");
String response = sdkClient.service(request);
SdkResponse responseObj = JSONUtils.toQysResponse(response, PersonalSignAuthTicketResult.class);
if(responseObj.getCode().equals(0)) {
logger.info(responseObj.getResult().getTicket());
}else {
logger.info("获取授权链接失败,失败原因:{}",responseObj.getMessage());
}
C#示例
敬请期待
PHP示例
敬请期待
Python示例
# 初始化SdkClient
url = "https://openapi.qiyuesuo.cn"
accessToken = '替换为您申请的开放平台App Token'
accessSecret = '替换为您申请的开放平台App Secret'
sdkClient = SdkClient(url, accessToken, accessSecret)
request = PersonalSignAuthUrlRequest()
request.set_remark("auth")
request.set_authDeadline("2022-06-22")
user = User()
user.set_contact("131********")
user.set_contactType("MOBILE")
request.set_user(user)
response = sdkClient.request(request)
print(response)
沪公网安备 31011202012092号