基础介绍
什么是用户授权?
根据电子签名法律法规相关要求,如需获取系统平台用户的相关隐私信息,需要提前对用户发起授权(仅支持接口形式授权),授权给当前调用方开放平台应用(AppId)使用系统用户相关资源权限(获取身份信息、印章信息等)。授权成功后,调用方调用后续业务API接口时需传入用户授权的系统个人或企业账号,并确保授权在有效范围内,就可以使用用户相关授权的资源权限。
注意事项:
- 建议开发者本地保管好用户的账号ID与账号标识(个人用户的手机号/邮箱、企业用户的企业名称)的关联关系;
什么是实名认证?
实名认证是电子签名过程中必不可少的环节,通过信息核验、人脸比对、校验码回填、机构对公账户打款等方式确认身份的真实性,并反馈认证结果的服务。
对接方可以自己选择在签署前单独发起实名认证服务(可避免用户在签署中因为实名信息不符,造成签署卡点),或者用系统签署页面自带的实名认证页面。
注意事项:
- 建议开发者本地保管好用户的账号ID与账号标识(个人用户的手机号/邮箱、企业用户的企业名称)的关联关系;
本文介绍签署前需要接口发起实名认证&用户授权场景,涉及API文档:实名认证和授权服务API 3.0
获取机构/个人认证&授权页面链接 接口包含两种模式(可通过参数控制进入不同的模式里,具体见相关参数说明):
- 授权认证模式:包含用户授权 + 实名认证/意愿认证。用户第一次使用系统需要做实名认证,证明真实身份。第二次及以后不需要再做实名,只需做意愿认证,证明本人真实意愿。
(1)实名认证支持:人脸识别认证(支付宝人脸,腾讯云人脸),银行四要素认证,手机三要素认证。
(2)意愿认证支持:人脸识别认证(支付宝人脸,腾讯云人脸),短信验证码认证(意愿认证与实名认证的用户感知类似)。
- 实名认证模式:用户只需要做一次,如果用户做过系统实名认证,再次调用接口使用实名模式,接口会报错"用户已实名"。
API列表
API接口(点击直接跳转相关API文档) | API描述 | 是否必需 |
企业机构授权|认证场景 | ||
此接口用来查询企业机构用户在系统的实名状态、授权状态(仅限当前应用ID)、系统的账号ID以及实名认证时的机构名称、机构证件号、法人等信息(需要提前授权后才会返回)。 | 按需 | |
此接口在授权场景可以接入查询授权范围以及授权到期时间。 | 按需 | |
此接口用来获取企业机构用户的授权+实名认证链接或者单独的实名认证链接,发起成功后会返回认证授权流程标识:authFlowId。 | 必需 | |
个人授权|认证场景 | ||
此接口用来查询个人用户在系统的实名状态、授权状态(仅限当前应用ID)、系统的账号ID以及实名认证时的姓名、证件号等信息(需要提前授权后才会返回)。 | 按需 | |
此接口在授权场景可以接入查询授权范围以及授权到期时间。 | 按需 | |
此接口用来获取个人用户的授权+实名认证链接或者单独的实名认证链接,发起成功后会返回认证授权流程标识:authFlowId。 | 必需 | |
公共查询接口 | ||
此接口可根据认证流程标识:authFlowId 查询本次授权和认证的详情信息。 | 建议 |
获取机构/个人认证&授权页面链接接口代码案例
关键参数
- orgAuthConfig/psnAuthConfig(机构/个人授权&认证信息):机构接口传入orgAuthConfig,个人接口传入psnAuthConfig。
- redirectUrl(认证完成后跳转页面):建议开发者传入,跳转到自己的业务页面做信息处理。
- notifyUrl(接收回调通知的Web地址):通知开发者用户认证和授权的完成以及变更情况。
用户授权完成时,开发者可通过【授权完成通知】的回调通知来接收用户的授权信息;
用户实名完成时,开发者可通过【实名认证通过通知】的回调通知来接收用户的实名账号信息。
- authorizedScopes(授权范围):设置该参数则为授权认证模式,不设置该参数(或者传空值)则为实名认证模式。
企业用户的授权范围(authorizedScopes) | 对应的可选值 | |
获取用户的账号基本信息: | 允许获取企业/组织用户的账号基本信息 | get_org_identity_info |
允许获取经办人个人用户的账号基本信息 | get_psn_identity_info | |
允许代替用户发起合同签署: | 允许代表企业/组织用户发起合同签署 | org_initiate_sign |
允许代表经办人个人用户发起合同签署 | psn_initiate_sign | |
获取用户资源管理权限: | 允许获取企业/组织用户的组织成员的查询、新增、编辑、删除权限 | manage_org_member |
允许获取企业/组织用户的印章的查询、新增、编辑、授权、删除权限 | manage_org_seal | |
允许获取企业/组织用户的模板的查询、新增、编辑、复制、删除权限 | manage_org_template | |
允许获取企业/组织用户的模板的使用权限 | use_org_template | |
允许获取企业/组织用户的印章、组织成员等资源的管理权限 | manage_org_resource | |
允许获取经办人个人用户的印章等资源的管理权限 | manage_psn_resource | |
获取用户的用印审批信息: | 允许获取企业/组织用户的用印审批信息 | org_approval_info |
个人用户的授权范围(authorizedScopes) | 对应的可选值 | |
获取用户的账号基本信息: | 允许获取个人用户的账号基本信息 | get_psn_identity_info |
允许代替用户发起合同签署: | 允许代表个人用户发起合同签署 | psn_initiate_sign |
获取用户资源管理权限: | 允许获取个人用户的印章等资源的管理权限 | manage_psn_resource |
企业机构用户代码案例
企业机构用户授权认证模式代码案例
{
"orgAuthConfig": {
"orgName": "******公司",
"orgInfo": {
"orgIDCardNum": "9133010****8110212",
"orgIDCardType": "CRED_ORG_USCC",
"legalRepName": "这里是法定代表人的姓名",
"legalRepIDCardNum": "110101********1001",
"legalRepIDCardType": "CRED_PSN_CH_IDCARD"
},
"orgAuthPageConfig": {
"orgDefaultAuthMode": "ORG_BANK_TRANSFER",
"orgAvailableAuthModes": [
"ORG_BANK_TRANSFER",
"ORG_LEGALREP_INVOLVED"
],
"orgEditableFields": [
"orgNum"
]
},
"transactorInfo": {
"psnAccount": "153****0000",
"psnInfo": {
"psnName": "这里是经办人的姓名",
"psnIDCardNum": "110102*****0000",
"psnIDCardType": "CRED_PSN_CH_IDCARD",
"psnMobile": "151****0050"
}
}
},
"authorizeConfig": {
"authorizedScopes": [
"get_org_identity_info",
"get_psn_identity_info"
]
},
"redirectConfig": {
"redirectUrl": "https://www.xxx.cn/"
},
"clientType": "ALL",
"notifyUrl": "http://******/notify"
}
企业机构用户实名认证模式代码案例
{
"orgAuthConfig": {
"orgName": "******公司",
"orgInfo": {
"orgIDCardNum": "9133010****8110212",
"orgIDCardType": "CRED_ORG_USCC",
"legalRepName": "这里是法定代表人的姓名",
"legalRepIDCardNum": "110101********1001",
"legalRepIDCardType": "CRED_PSN_CH_IDCARD"
},
"orgAuthPageConfig": {
"orgDefaultAuthMode": "ORG_BANK_TRANSFER",
"orgAvailableAuthModes": [
"ORG_BANK_TRANSFER",
"ORG_LEGALREP_INVOLVED"
],
"orgEditableFields": [
"orgNum"
]
},
"transactorInfo": {
"psnAccount": "153****0000",
"psnInfo": {
"psnName": "这里是经办人的姓名",
"psnIDCardNum": "110102*****0000",
"psnIDCardType": "CRED_PSN_CH_IDCARD",
"psnMobile": "151****0050"
}
}
},
"redirectConfig": {
"redirectUrl": "https://www.xxx.cn/"
},
"clientType": "ALL",
"notifyUrl": "http://******/notify"
}
个人用户代码案例
个人用户授权认证模式代码案例
{
"psnAuthConfig": {
"psnAccount": "153******50",
"psnInfo": {
"psnName": "张三",
"psnIDCardNum": "2311********4329",
"psnIDCardType": "CRED_PSN_CH_IDCARD",
"psnMobile": "153******50"
},
"psnAuthPageConfig": {
"psnDefaultauthMode": "PSN_MOBILE3",
"psnAvailableauthModes": [
"PSN_BANKCARD4",
"PSN_MOBILE3",
"PSN_FACE_ALIPAY",
"PSN_FACE_TECENT"
],
"psnEditableFields": [
"IDCardNum"
]
}
},
"authorizeConfig": {
"authorizedScopes": [
"get_psn_identity_info"
]
},
"redirectConfig": {
"redirectUrl": "https://www.bestcert.net/"
},
"notifyUrl": "http://******/notify",
"clientType": "ALL"
}
个人用户实名认证模式代码案例
{
"psnAuthConfig": {
"psnAccount": "153******50",
"psnInfo": {
"psnName": "张三",
"psnIDCardNum": "2311********4329",
"psnIDCardType": "CRED_PSN_CH_IDCARD",
"psnMobile": "153******50"
},
"psnAuthPageConfig": {
"psnDefaultauthMode": "PSN_MOBILE3",
"psnAvailableauthModes": [
"PSN_BANKCARD4",
"PSN_MOBILE3",
"PSN_FACE_ALIPAY",
"PSN_FACE_TECENT"
],
"psnEditableFields": [
"IDCardNum"
]
}
},
"redirectConfig": {
"redirectUrl": "https://www.bestcert.net/"
},
"notifyUrl": "http://******/notify",
"clientType": "ALL"
}