在公司接手实名认证服务系统后,整理了一下大致的实现思路。针对二要素的身份证实名认证,系统对接相关的身份认证供应商付费接口。接口一般付费原则就是量多从优了。由于调用外部付费接口涉及财务对账、余额充值问题,所以,不可少的环节一定要有具体的接口调用明细流水。
在系统上的实现:
1、拦截、避免无效请求,减少付费接口调用次数,节约成本
对于系统服务设计接口,力求做的是便捷调用、入参简洁。一般来说,需要记录实名认证接口的调用方、系统来源等,方便流量控制和控制爆刷风险,有迹可循。身份证号、姓名涉及敏感信息,加密处理下。
证件号码是否有效,是有校验码计算公式的,提交实名之前务必校验通过。由于姓名是中文,所以也可做校验过滤。
2、实名认证,提供同步、异步接口,满足业务不同场景需求
有一些业务功能需要马上验证身份信息是否一致,可提供同步接口;有的则要求时效性不是很高,我们可以提供异步接口,缩短用户流程操作等待时间。
3、作为原子型、通用接口,需保障接口高可用
可以根据系统运营情况,接入不同渠道的实名认证接口提供商。系统设计上,有多个不同渠道认证供应商接口可供切换,没什么不好,渠道之间可以做切换/互备用,防止某一个渠道商由于异常而导致整个系统的服务对接不可用。
不同时段、不同业务上线,都可能带来不同比例的流量。所以,针对流量情况做好渠道的切换比例开关,十分有利于保证接口的可用性。、
4、使用本地数据库保存的实名数据,提高利用率,降低运营成本
每一条实名认证流水、每次实名认证结果,都可用在做好数据加密、安全措施完备的情况下,保存下来可供在一定的时间段内,反复利用,从而不必每次请求都去调用付费接口进行查询。有效时间段的区间是可调配的,一般有效期可设置1个月。换句话说,就是在本地库中查到了有效期范围内的身份实名结果,那么就用该结果处理,无需再外调服务商的提供的付费接口了,很大程度上,节约了运营成本。
以上是一般实现思路,有好的、不一样的思路,欢迎留言探讨。