惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
量子位
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
雷峰网
雷峰网
I
InfoQ
罗磊的独立博客
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
博客园 - 三生石上(FineUI控件)
The GitHub Blog
The GitHub Blog
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
S
SegmentFault 最新的问题
T
Threat Research - Cisco Blogs
H
Help Net Security
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CERT Recently Published Vulnerability Notes
WordPress大学
WordPress大学
T
Tenable Blog
T
The Blog of Author Tim Ferriss
C
Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - Franky
A
Arctic Wolf
T
Threatpost
Scott Helme
Scott Helme
C
Cybersecurity and Infrastructure Security Agency CISA
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Exploit Database - CXSecurity.com
G
GRAHAM CLULEY
Security Latest
Security Latest
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
S
Schneier on Security
Latest news
Latest news
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com

博客园 - ace--碳水化合物

English1 Tidio 官方帮助中心 ERP 相关系统介绍 蝉翼定理 选配法 利润最大化公式 写在失业的一段话 排列组合-组合 在线简历 概率论与数理统计学习章节 绝对值 比例五大定理 算术平均值与几何平均值 等价符号 公因数与最大公因数 容斥原理 英语2026 机器学习,深度学习,强化学习 分别是什么以及区别是什么 深度学习 监督学习 FAQ IVR TTS选择 k 近邻算法 kaldi 平稳核函数(stationary kernel) Karush-Kuhn-Tucker 条件 凸二次规划(convex quadratic programming) FunASR+FreeSwitch做坐席客服系统记录 freeswitch原理图 客服系统,第三方平台,对话转录音,这些可以不依赖第三方做么 STUN服务器 Gun.js原理 游戏升级记 10 OBB 边界问题 关于yolo26是否可以通过结合java开发 opencv和yolo是一回事情吗 pytorch TorchVision - ace--碳水化合物 PyTorch 和 FashionMNIST 的关系 java record 游戏升级记 9 VibeVoice实现90分钟、多角色播客生成,拓展语音合成新边界 同 WiFi 下用 Claude Code 控制另一台 Windows 电脑 Numpy 1 游戏升级记 8 开源claudecode前端 github star 9k+ 向量数据库skill 游戏升级记 7 游戏升级记 6 关系型数据库,向量数据库,ES,缓存,列式数据库,时序数据库,图数据库等的区别和共同点列举table 多Agent可视化 Agent设计模式 中文 Hermes+Obsidian+LLM wkii,构建AI知识库 Claude Code 前端工程泄露代码开源 游戏升级记 5 ai记忆 Rag 1 游戏升级记 4 游戏升级记 3 游戏升级记 2 AI学习路线 关于hermes agent安装 1 游戏升级记 1 代码迷踪 十三 代码迷踪 十二 ai智能体工程 Rust vs Go 怎样制作一个街机游戏 跟Claude code说 深入思考 它会思考更深入. googlebusiness profile设置统一白名单的操作,要弹窗模式的 该怎样利用ollama自己训练一个编程大模型 中华AI智能体编程一站式基站构想 打包网站到exe和app 识别的内容一般是试题模板的题号和手写的答题答案(数字) opencv怎么训练 在线SaaS系统做接口版本滚动更新 stripe相关支付流程 流程示意图 error: linker `link.exe` not found | = note: program not found - rust 给我一份关于stripe平台的使用开发说明 c++学习记20260219 奥数-平面几何经典定理 奥数-组合数学 奥数-几何 奥数-代数 奥数-数论
微信小程序实名认证
ace--碳水化合物 · 2026-04-08 · via 博客园 - ace--碳水化合物

好的,我们来分别看一下这两种实名认证方案的详细实现流程。

🔵 方案一:官方「实名信息校验」流程详解

这个方案的核心在于比对,即验证用户自己输入的“姓名+身份证号”,是否与他们在开通微信支付时预留的实名信息一致。你可以将它理解为“核对答案”,而不是“获取答案”。

整个流程可以分为三个主要步骤,其中前端负责引导跳转,后端起关键作用:

sequenceDiagram participant User as 用户 participant MP as 小程序前端 participant WxServer as 微信城市服务 participant YourServer as 你的后台服务器 participant WxAPI as 微信后台API User->>MP: 1. 输入姓名、身份证号,点击认证 MP->>WxServer: 2. 跳转至微信城市服务授权页 Note over MP,WxServer: 携带你的小程序AppID等信息 WxServer-->>User: 3. 展示授权页,请求用户确认 User->>WxServer: 4. 用户点击“同意”授权 WxServer->>MP: 5. 回跳至你的小程序,并在URL中附带code MP->>YourServer: 6. 将姓名、身份证号、code发送给后端 YourServer->>WxAPI: 7. 调用 checkrealnameinfo 接口 Note over YourServer,WxAPI: 传入 openid, real_name, cred_id, code WxAPI-->>YourServer: 8. 返回校验结果(匹配/不匹配) YourServer-->>MP: 9. 返回最终认证结果 MP-->>User: 10. 展示认证成功或失败

关键实现细节:

  1. 前端:收集信息并获取授权码 (code)
    你需要在小程序内放一个表单,让用户填写姓名和身份证号。提交时,不能直接调用后端接口,而是要先跳转到一个微信官方的授权页面。跳转时需指定微信城市服务小程序的 appid(固定值 wx308bd2aeb83d3345)和路径 subPages/city/wxpay-auth/main。用户同意后,微信会回跳到你的小程序,并在 extraData 中带上一个用于校验的 code 参数。

  2. 后端:调用核心校验接口
    你的后端服务器收到前端传来的 codereal_name(姓名)、cred_id(证件号)后,需要调用微信官方接口 https://api.weixin.qq.com/intp/realname/checkrealnameinfo。请求体(Request Payload)需要包含:

    • openid: 当前用户的openid。
    • real_name: 用户填写的姓名。
    • cred_id: 用户填写的证件号。
    • code: 刚从前端获取的授权码。
  3. 处理校验结果
    微信接口会返回两个关键字段:verify_openidverify_real_name

    • 第一步,先看 verify_openid。如果值是 V_OP_NA,说明该用户未在微信支付进行实名,流程终止。
    • 第二步,如果 verify_openidV_OP_NM_MA,再看 verify_real_name。若其值为 V_NM_ID_MA,代表“姓名与证件号匹配”,认证成功;若为 V_NM_ID_UM,则认证失败。

🟢 方案二:第三方人脸识别核身流程详解

这个方案更重、更安全,适用于强监管场景(如金融、支付)。它不仅要核对信息,还要通过活体检测确认“你是你”,并最终与权威公安库数据进行比对。

流程同样分为三步:活体检测、信息提交、权威比对。

sequenceDiagram participant User as 用户 participant MP as 小程序前端 participant ThirdPartySDK as 第三方服务SDK participant YourServer as 你的后台服务器 participant GovDB as 公安库/权威数据源 User->>MP: 1. 上传身份证照片/填写信息 MP->>MP: 2. 调用 wx.startFacialRecognitionVerify Note over MP: 引导用户完成眨眼、摇头等动作 MP-->>ThirdPartySDK: 3. 上传活体视频/特征码进行检测 ThirdPartySDK-->>MP: 4. 返回活体检测结果与凭证(token) MP->>YourServer: 5. 将用户信息与token一并提交 YourServer->>ThirdPartySDK: 6. 调用第三方API进行身份核验 ThirdPartySDK->>GovDB: 7. 请求权威库数据比对 GovDB-->>ThirdPartySDK: 8. 返回比对结果 ThirdPartySDK-->>YourServer: 9. 返回最终核验结果 YourServer-->>MP: 10. 返回认证成功或失败

关键实现细节:

  1. 前端:集成活体检测
    你需要在小程序里调用微信官方的生物认证接口 wx.startFacialRecognitionVerify。在调用前,最好先用 wx.checkIsSupportFacialRecognition 检测一下当前设备是否支持人脸识别。调用时,需明确指定 verifyType,例如设置为 LIVENESSPOLICE 来执行包含活体检测的人脸核身。

  2. 后端:对接第三方服务商
    前端完成活体检测后,会得到一个 token(或 verify_result)。你需要将这个凭证和用户填写的身份信息一并提交到自己的后台服务器。后台服务器负责调用第三方服务商(如腾讯云、阿里云)的API,完成两项核心任务:

    • 活体攻击检测:验证视频/图片是否为真人所拍,抵御照片、视频、面具等攻击。
    • 权威库比对:将采集到的人脸特征与公安库或权威身份源的数据进行1:1比对,确认“人证合一”。
  3. 处理最终结果
    根据第三方服务商返回的比对分数或明确结论,由你的后端最终判断认证是否通过。整个过程中,你的后台服务器是数据交互的中枢,并负责最终的业务逻辑处理。

📊 方案对比总结

为了让你更清晰地选择,这里将两种方案的核心差异整理成了一张表:

核心功能信息比对:验证用户输入的信息是否与微信支付预留信息一致。 人证合一:通过活体检测+公安库比对,确认本人操作且信息真实。 安全性/权威性较高,依赖微信支付体系的数据准确性。 最高,直接或间接与权威公安库数据进行比对。 适用场景轻量级校验:防沉迷、身份绑定、确认已实名用户身份。 强监管场景:金融开户、大额交易、直播提现等需要最高安全等级的场景。 用户体验简单快捷,用户仅需授权即可。 相对复杂,需要用户配合完成动作(如眨眼、张嘴)。 开发复杂度较低,后端对接一个接口即可。 较高,需要处理音视频流、对接第三方SDK、处理多种异常情况。 成本免费按次收费,价格随服务商和调用量变化(通常0.2-0.5元/次)。 前置条件用户须在微信支付完成实名,否则无法校验。 用户无需提前实名,适用于所有用户。
对比维度 官方「实名信息校验」 第三方「人脸识别核身」