以网站、app应用实名认证为背景,详细介绍一下实名认证的必要性以及认证示例

以网站、app应用实名认证为背景,详细介绍一下实名认证的必要性以及认证示例

以网站、app应用实名认证为背景,详细介绍一下实名认证的必要性以及认证示例

在当今数字化时代,实名认证越来越成为网站、App应用必不可少的一部分。 本文将以聚合数据的相关接口数据:三网手机实名认证、身份证实名认证、活体视频认证、活体人脸实名认证H5版、银行卡三四要素,详细的说明实名认证的方法 条条大路通罗马,相信总有一种实名认证的方法是适合您的

一、实名认证的必要性:

提高用户安全性和可靠性

实名认证可以有效防止账号被盗用、冒充等行为,保护用户隐私和财产安全。用户身份真实可验证,有助于建立信任关系,提高用户对产品/服务的信心。 规范平台秩序

实名认证可以阻止恶意注册、发布违法违规内容等行为,维护平台秩序。有助于追查责任主体,增强平台的社会责任感和公信力。 满足监管要求

很多行业和领域都有实名制的监管政策和法规要求,如金融、电信等。平台必须落实实名认证机制,否则可能面临处罚或关停风险。

二、实名认证的常见方法(综合难度、可靠,5⭐️为例):

1、 三网手机实名认证 3⭐️

要求用户使用本人真实的手机号码进行注册并对身份证进行核验。通过手机号码与身份证信息的绑定,验证用户身份的真实性。 2、 身份证实名认证 3⭐️

让用户提供身份证号码并上传身份证照片进行核验。通过身份证信息的直接验证,确认用户身份。 3、 活体视频认证 4⭐️

要求用户进行实时视频自拍,传入视频和身份信息。先判断视频中是否为真人,再判断视频中的人与公安权威库的证件照是否属于同一个人。结合视觉识别和权威数据核验,提高认证的可靠性。 4、 活体人脸实名认证H5版 5⭐️

通过真人活体检测和人脸比对等生物识别技术,配合权威数据源验证,可快速校验自然人的真实身份。可快速、准确地校验自然人的真实身份。生物识别技术更加智能和安全可靠。 5、 三方认证:银行卡三元素检测、银行卡四元素检测 4⭐️

银行卡三要素(姓名、身份证号码、银行卡号)信息是否一致银行卡四元素检测(姓名、手机号码、身份证号码、银行卡号)信息是否一致

三、各种实名认证方法示例详解:

下面将通过简单易懂的代码方式,详细分析和说明以上5种实名认证方法的使用 首先我们需要获取接口调用的秘钥:注册并登录聚合,在用户中心-》我的数据-》我的接口里面可以看到已申请的接口appkey 以下下代码默认已有appkey,并以go语言为例,其他语言可到相关文档查看(支持语言:curl、python、php、node、go、objectc、java、c#)

所有请求header 都是:Content-Type application/x-www-form-urlencoded

1、三网手机实名认证 3⭐️

该方式需要用户的:姓名、身份证、手机号(这里要注意,手机号必须是该身份证办理的,如果只是使用者,是不同不过的) 三要素比对一致即可完成实名认证

必填参数:

参数类型描述keystring在个人中心->我的数据,接口名称上方查看realnamestring姓名idcardstring身份证号码mobilestring手机号码

示例:

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

)

func main() {

// 基本参数配置

apiUrl := "https://v.juhe.cn/telecom/query"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("realname", "李聚合")

requestParams.Set("idcard", "370121xxxxxxxx1040")

requestParams.Set("mobile", "18988888888")

// 发起接口网络请求

resp, err := http.Get(apiUrl + "?" + requestParams.Encode())

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason":"成功",

"result":{

"realname":"****",

"mobile":"************",

"idcard":"********************",

"res":1, // 1:三要素核验一致,2:三要素核验不一致

"resmsg":"三要素身份验证一致",

},

"error_code":0

}

2、身份证实名认证 3⭐️

核验身份证二要素(姓名和身份证号码)信息是否一致。 简单粗暴:根据res判断是否通过:1:匹配 , 2:不匹配

必填参数:

参数类型描述keystring在个人中心->我的数据,接口名称上方查看realnamestring姓名idcardstring身份证号码

示例

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

)

func main() {

// 基本参数配置

apiUrl := "http://op.juhe.cn/idcard/query"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("idcard", "370121xxxxxxxx1040")

requestParams.Set("realname", "李聚合")

requestParams.Set("orderid", "")

// 发起接口网络请求

resp, err := http.Get(apiUrl + "?" + requestParams.Encode())

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason": "成功",

"result": {

"realname": "***",

"idcard": "******************",

"orderid":"J103202010151450419556",

"res": 1 // 1:匹配 , 2:不匹配

},

"error_code": 0

}

3、 活体视频认证 4⭐️

传入视频和身份信息,先判断视频中是否为真人,判断为真人后,再判断该视频中的人与公安权威库的证件照是否属于同一个人 自行根据res相似度进行适合的取值,判断是否认证通过

必填参数:

参数必填类型描述key是string在个人中心->我的数据,接口名称上方查看realname是string姓名idcard是string身份证号码videoBase64二选一string用于活体检测的视频,视频的BASE64值;BASE64编码后的大小不超过8M,支持mp4、avi、flv格式。videoUrl二选一string用于活体检测的视频Url 地址。视频下载后经Base64编码不超过 8M,视频下载耗时不超过4S,支持mp4、avi、flv格式。视频的 videoUrl、videoBase64必须提供一个,如果都提供,只使用 videoBase64。

示例

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

"strings"

)

func main() {

// 基本参数配置

apiUrl := "http://apis.juhe.cn/antiFaceId/query"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("idcard", "370121xxxxxxxx1040")

requestParams.Set("realname", "李聚合")

requestParams.Set("videoBase64", "")

requestParams.Set("videoUrl", "")

// 发起接口网络请求

resp, err := http.Post(apiUrl, "application/x-www-form-urlencoded", strings.NewReader(requestParams.Encode()))

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason": "成功",

"result":{

"res":{

"score": 100

// 属score,相似度,取值范围 [0.00, 100.00]。推荐相似度大于等于70时可判断为同一人,可根据具体场景自行调整阈值(阈值70的误通过率为千分之一,阈值80的误通过率是万分之一)

},

"orderid": "J675202203211119151305"

},

"error_code": 0

}

4、 活体人脸实名认证H5版 5⭐️

通过真人检测和人脸比对等生物识别技术,配合权威数据源验证,可快速校验自然人的真实身份。 该方法需要向获取实人认证链接,进行活体认证扫描 回调认证扫码任务订单号,用户通过订单号,查下认证结果 同样也可以传递一个异步通知地址,等待结果推送

1、获取认证地址

https://apis.juhe.cn/faceid/query

参数:

参数必填类型描述key是string在个人中心->我的数据,接口名称上方查看certName是string姓名certNo是string身份证号码orderId是string自定义的8-32位字母数字组合标识。model否string活体检测的类型。returnUrl是string您的业务页面回跳的目标地址URL。notifyUrl否string认证结果的回调通知地址URL。仅当认证完成(包含认证通过和认证未通过)时才会触发回调,若认证中放弃、异常中断或未进行认证均不会通知。建议您收到回调通知时,若有需要可通过查询接口获取认证详情信息。deviceType否string取值WEB或者H5 (默认H5)。

形迹判断是一种动作活体的检测方式,按规则移动鼻尖完成指定动作。形迹判断通过增加随机性,提升了安全能力。

model选择

1 默认,眨眼动作活体检测。2 多动作活体检测,眨眼+任意摇头检测(顺序随机)。3 多动作活体检测,眨眼+形迹判断(顺序随机)。4 多动作活体检测,眨眼+炫彩活体双重检测。5 多动作活体检测,远近动作+眨眼动作检测。

示例

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

"strings"

)

func main() {

// 基本参数配置

apiUrl := "https://apis.juhe.cn/faceid/query"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("certName", "姓名")

requestParams.Set("certNo", "370121xxxxxxxx1040")

requestParams.Set("orderId", "OD2024052012121212")

requestParams.Set("model", "1")

requestParams.Set("returnUrl", "https://local.example.cn/return")

requestParams.Set("notifyUrl", "")

requestParams.Set("deviceType", "")

// 发起接口网络请求

resp, err := http.Post(apiUrl, "application/x-www-form-urlencoded", strings.NewReader(requestParams.Encode()))

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason":"SUCCESS",

"result":{

"jh_order_id":"JH79320240513145425BLEnR",

"verify_url":"http://m.alyms.cn/F4.bTPyEV" // 重定向打开该认证地址,完成认证

},

"error_code":0

}

2、认证结果查询

https://apis.juhe.cn/faceid/search

参数:

参数必填类型描述key是string在个人中心->我的数据,接口名称上方查看jhOrderId是string聚合订单号。即发起认证请求接口返回的jh_order_id字段。

示例

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

"strings"

)

func main() {

// 基本参数配置

apiUrl := "https://apis.juhe.cn/faceid/search"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("jhOrderId", "JH79320240517095231mUzn9")

// 发起接口网络请求

resp, err := http.Post(apiUrl, "application/x-www-form-urlencoded", strings.NewReader(requestParams.Encode()))

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason": "SUCCESS",

"result": {

"passed": "T", // 认证通过

"message": "身份证号与姓名匹配,且比对成功",

"jh_order_id": "JH79320240517095231mUzn9",

"detail": {

"live_passed": "T",

"live_code": "200",

"live_message": "活体检测通过",

"live_score": "91.11730",

"certify_passed": "T",

"certify_code": "200",

"certify_message": "身份证号与姓名匹配,且比对成功",

"certify_res": "1",

"certify_score": "87",

"img": "" // 实人认证图片

}

},

"error_code": 0

}

5、 三方认证:银行卡三元素检测、银行卡四元素检测 4⭐️

这里就只介绍四元素检测,其他一样 可以根据res判断实名认证是否通过

必填参数:

参数类型描述keystring在个人中心->我的数据,接口名称上方查看realnamestring姓名idcardstring身份证号码bankcardstring银行卡卡号mobilestring手机号码

示例

package main

import (

"encoding/json"

"fmt"

"net/http"

"net/url"

)

func main() {

// 基本参数配置

apiUrl := "http://v.juhe.cn/verifybankcard4/query"

apiKey := "您申请的调用APIkey"

// 接口请求入参配置

requestParams := url.Values{}

requestParams.Set("key", apiKey)

requestParams.Set("realname", "李聚合")

requestParams.Set("idcard", "370121xxxxxxxx1040")

requestParams.Set("bankcard", "6321xxxxxxxx432")

requestParams.Set("mobile", "18988888888")

requestParams.Set("bankinfo", "")

// 发起接口网络请求

resp, err := http.Get(apiUrl + "?" + requestParams.Encode())

if err != nil {

fmt.Println("网络请求异常:", err)

return

}

defer resp.Body.Close()

var responseResult map[string]interface{}

err = json.NewDecoder(resp.Body).Decode(&responseResult)

if err != nil {

fmt.Println("解析响应结果异常:", err)

return

}

fmt.Println(responseResult)

}

结果

{

"reason": "成功",

"result": {

"jobid": "JH2131191113105116991630Np", // 本次查询流水号

"realname": "****", // 姓名

"bankcard": "************", // 银行卡卡号

"idcard": "************", // 身份证号码

"mobile": "***********", // 预留手机号码

"res": "2", // 验证结果,1:匹配 2:不匹配

"message": "认证信息不匹配" // 描述

},

"error_code": 0

}

总结

总的来说,这5种实名认证方法(三网手机实名认证、身份证实名认证、活体视频认证、活体人脸实名认证H5版、银行卡三四要素)各有特点,从简单的手机号码和身份证验证,到更加智能和可靠的生物识别和三方认证,满足不同场景和需求。平台可根据自身情况选择合适的认证方式,以确保用户身份的真实性和安全性。 可以根据具体的场景和需求选择不同的认证方式

相关推荐

西元棋牌官方版/游戏正版/老版/游戏/最新版
365买球平台下载苹果

西元棋牌官方版/游戏正版/老版/游戏/最新版

📅 07-18 👁️ 5208
国考常识备考技巧:庙号、年号、谥号傻傻分不清楚?
[新人报到]灰鼠折叠自行车能买吗?[复制链接]
365买球平台下载苹果

[新人报到]灰鼠折叠自行车能买吗?[复制链接]

📅 06-30 👁️ 865
散文朗诵-匆匆
beat365手机下载

散文朗诵-匆匆

📅 07-02 👁️ 4679
世界杯回顾:2002年国足为什么能进世界杯?
beat365手机下载

世界杯回顾:2002年国足为什么能进世界杯?

📅 07-01 👁️ 9628
剑网3什么职业最强 剑网3哪个职业厉害
365bet网投官网

剑网3什么职业最强 剑网3哪个职业厉害

📅 07-15 👁️ 7873