一、基础身份认证
// 1. 三要素基础核验 class BasicIdentityAuth { public function verifyIdentity($name, $idCard, $mobile) { // 使用公安三要素接口(示例) $result = $this->callPublicSecurityApi([ 'name' => $name, 'idcard' => $idCard, 'mobile' => $mobile ]); return [ 'verified' => $result['code'] == 200, 'match_result' => $result['data']['match'], 'risk_level' => $result['data']['risk_level'], 'timestamp' => time() ]; } }二、人脸活体检测
# 2. 人脸+活体双重认证 class FaceVerification: def verify_family_member(self, face_image, idcard_image): # 活体检测 liveness_result = self.liveness_detection(face_image) # 人脸比对 compare_result = self.face_compare( face_image, idcard_image ) # 服刑人员家属特殊校验 family_check = self.check_prison_relation( face_image, prisoner_idcard=self.prisoner_id ) return { 'liveness_score': liveness_result['score'], 'similarity': compare_result['similarity'], 'family_relation': family_check['relation'], 'is_authentic': all([ liveness_result['score'] > 0.9, compare_result['similarity'] > 0.8, family_check['passed'] ]) }三、关系证明认证
// 3. 家属关系证明验证 public class FamilyRelationAuth { public RelationResult verifyRelation(String userId, String prisonerId, MultipartFile[] proofFiles) { // 1. 基础关系验证 boolean basicRelation = prisonService.verifyBasicRelation( userId, prisonerId); // 2. 证明文件验证 ProofValidation proofResult = validateProofFiles(proofFiles); // 3. 双重验证(线上+线下) if (basicRelation && proofResult.isValid()) { return new RelationResult( true, "关系验证通过", RelationLevel.DIRECT_FAMILY); } // 4. 人工审核流程 return manualReview(userId, prisonerId, proofFiles); } private ProofValidation validateProofFiles(MultipartFile[] files) { // OCR识别证明文件 List<String> extractedInfo = ocrService.extract(files); // 验证关键信息 return validator.validate( extractedInfo, requiredFields: ["姓名", "身份证号", "关系", "监狱证明章"] ); } }四、司法系统对接
// 4. 司法系统实名认证 class JudicialAuthAPI { async verifyJudicialIdentity(authData) { // 监狱系统对接认证 const prisonResponse = await this.callPrisonSystem({ method: 'POST', url: '/api/judicial/verify', data: { family_id: authData.idcard, prisoner_id: authData.prisoner_id, visit_record: authData.visit_history, auth_type: 'family_authentication' } }); // 法院系统验证 const courtResponse = await this.courtSystem.verifyRelation({ family: authData.name, prisoner: authData.prisoner_name, case_number: authData.case_number }); return { prison_verified: prisonResponse.status === 'valid', court_verified: courtResponse.match, judicial_auth_level: this.calculateAuthLevel( prisonResponse, courtResponse ), next_step: prisonResponse.status === 'pending' ? 'require_manual_review' : 'complete' }; } }五、认证状态管理
-- 5. 认证状态追踪表 CREATE TABLE family_verification_status ( verification_id CHAR(32) PRIMARY KEY, user_id VARCHAR(32) NOT NULL, prisoner_id VARCHAR(32) NOT NULL, -- 认证步骤状态 basic_verified BOOLEAN DEFAULT FALSE, face_verified BOOLEAN DEFAULT FALSE, relation_verified BOOLEAN DEFAULT FALSE, judicial_verified BOOLEAN DEFAULT FALSE, -- 认证等级 auth_level ENUM('pending', 'basic', 'verified', 'trusted', 'vip'), -- 认证材料 idcard_front VARCHAR(255), idcard_back VARCHAR(255), relation_proof JSON, face_verify_data JSON, -- 有效期 valid_until DATE, last_verified TIMESTAMP, -- 审核记录 reviewer_id VARCHAR(32), review_note TEXT, reviewed_at TIMESTAMP, INDEX idx_user_prisoner (user_id, prisoner_id), INDEX idx_auth_status (auth_level, valid_until) );总结
微爱帮家属实名认证五大核心:
基础核验- 公安三要素实名认证
人脸认证- 活体检测+人脸比对
关系证明- 家属关系多源验证
司法对接- 监狱+法院双重认证
状态管理- 分级认证状态追踪
技术特点:
三通道独立验证
活体检测防作弊
司法系统直连
认证状态可溯源
安全合规:符合《个人信息保护法》和司法系统认证要求。