2016年國家網信辦釋出了《移動網際網路應用程式資訊服務管理規定》,明确了使用者實名認證的要求;一是按照“背景實名、前台自願”的原則,對注冊使用者進行真實身份資訊認證;二是建立健全使用者資訊安全保護機制;三是建立健全資訊内容稽核管理機制,對釋出違法違規資訊内容的,視情采取警示、限制功能、暫停更新、關閉賬号等處置措施;四是依法保障使用者知情權和選擇權;五是尊重和保護知識産權,不得制作、釋出侵犯他人知識産權的應用程式;六是記錄使用者日志資訊,并儲存六十日。
對于目前主流的網際網路系統實名認證方案有以下三種:
一、身份證明名認證
系統強制使用者注冊時填寫個人的姓名和身份證号碼,通調用第三方接口核驗身份證号和姓名是否一緻。這是一種較為簡單的實名認證方式,很多驗證是否是未成年人的系統多使用這種方案,因為身份證号碼内含有出生日期。
發送資料:
bodys.put("idNo", "340421190210182345");
bodys.put("name", "張三");
傳回資料:
{
"name": "張三",
"idNo": "340421190710145412",
"respMessage": "身份證資訊比對",
"respCode": "0000",
"province": "安徽省",
"city": "淮南市",
"county": "鳳台縣",
"birthday": "19071014",
"sex": "M",
"age": "111"
}
詳情:身份證明名認證接口(阿裡雲)
二、手機号實名認證
當使用者在注冊時通過短信驗證碼确認手機号為使用者持有後,接下來強制使用者填寫姓名和身份證号碼,然後在背景通過調用第三方接口确認填寫的身份證資訊是不是該手機号在營運商辦理時使用的身份證,以此确認使用者資訊切實準确。這是一種較準确的實名認證方式,由于辦理手機号需要本人持身份證到營業廳辦理,能夠認證成功表示确系本人操作,也是大多數系統使用的認證方式。
發送資料:
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("idNo", "350298189012083221");
bodys.put("name", "張三");
bodys.put("phoneNo", "13511112222");
傳回資料:
{
"name": "張三",
"idNo": "359345189012085813",
"phoneNo": "13511112222",
"respMessage": "身份證資訊比對",
"respCode": "0000"
}
詳情:三網手機号實名認證接口(阿裡雲)
三、銀行卡實名認證
對于金融類系統,代收付業務離不開銀行卡,對綁卡認證可以較為準确的核驗使用者資訊,并且確定使用者将來使用該銀行卡無後顧之憂。具體流程為:先使用手機号注冊基本資訊,在到主界面綁卡,綁卡時填寫銀行卡号、姓名、身份證号碼再加上已經注冊了的手機号4個要素發送至第三方接口進行核驗,如果驗證通過表明該銀行卡為使用者本人所有,可以用于收付款業務。為避免套現風險一般綁定借記卡。
發送資料:
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("ReturnBankInfo", "YES");
bodys.put("cardNo", "62155811111111111");
bodys.put("idNo", "340421199922225555");
bodys.put("name", "張三");
bodys.put("phoneNo", "13522221111");
傳回資料:
{
"name": "張三",
"cardNo": "6225756663322156",
"idNo": "34042158962596321",
"phoneNo": "13699995555",
"respMessage": "結果比對",
"respCode": "0000",
"bankName": "招商銀行",
"bankKind": "招商銀行信用卡",
"bankType": "信用卡",
"bankCode": "CMB"
}
詳情:銀行卡四要素實名認證接口(阿裡雲)
如果使用者隻有付款需求,綁卡時隻驗證3要素即可,即:銀行卡号、姓名、身份證号碼。(銀行代付業務一般隻需要銀行卡号、姓名、身份證号、金額)
發送資料:
Map<String, String> bodys = new HashMap<String, String>();
bodys.put("cardNo", "62155811111111111");
bodys.put("idNo", "340421199922225555");
bodys.put("name", "張三");
傳回資料:
{
"name": "張三",
"cardNo": "6215522222222223333",
"idNo": "3404529999888855551111",
"respMessage": "資訊比對",
"respCode": "0000",
"bankName": "中國工商銀行",
"bankKind": "工商銀行",
"bankType": "借記卡",
"bankCode": "ICBC"
}
詳情:銀行卡三要素實名認證接口(阿裡雲)
每個産品頁面中間有對應的接口文檔和執行個體代碼,密鑰在購買成功了的控制台裡檢視即可!
如果大家在搬磚過程中遇到此類問題可以加部落客QQ:1773542055,共同讨論ヾ(◍°∇°◍)ノ゙
我的部落格即将入駐“雲栖社群”,誠邀技術同仁一同入駐。