iOS 接入 芝麻信用

.png
由于芝麻信用越来越受大家的关注和喜欢,有些项目中也会集成进去,作为一个征信的手段,或者作为一个免押金服务的参照。为此我出这一份文章,希望能帮助到大家。不过话说回来,集成芝麻信息的APP确实不多。

简单说下接入芝麻信用的基本流程:

  • 第一步:商户通过芝麻信用商户平台进行配置申请
  • 第二步:商户服务端对接芝麻信用开发平台,集成加密加签等功能
  • 第三步:商户app对接芝麻信用移动端sdk接口
  • 第四步: 商户拿到返回的params参数,通过RSA解密,可以获取授权结果以及用户的openId

上面我们可以看出,对于iOS这边来说,做的只有第三步,其实还是很简单滴。

详细步骤:

  1. 导入 SDK的Framework文件 ,目前还不能使用CocoaPod,所以只能手动。
  2. 创建实例并实现回调
    a.注册应用:
    请在AppDelegate里面来注册应用:
[[ALCCreditService sharedService] resgisterApp];

b. 芝麻信用分数的查询这里有两种方式,第一种是通过电话号码,第二种是通过姓名和身份证号。我这里比较推荐第二种。获取到用户姓名和身份证号后,传给服务端提前写好的接口(这里不需要前端操心了,服务端自己去看自己的文档)进行加密签名,成功后服务端会生产前端需要的两个参数signparams.这两个参数也就是下面c中的signparams
c. 调用接口进行授权逻辑:

使用queryUserAuthReq方法进行授权验证。
 * 用户授权接口
 * @param appId         芝麻分配的应用ID
 * @param sign          商户私钥对params进行加签,b中提到服务端返回
 * @param params        授权的请求参数,商户需用芝麻信用的公钥对这一串数据进行RSA加密。
 *                      数据格式如下(具体参数意义请看开发文档)b中提到服务端返回
 * @param extParams     新增扩展参数,可以为空
 * @param selector      返回结果selector
 * @param targetVC      目标controller,商户Controller必须是基于Navigation Controller
 */
- (void)queryUserAuthReq:(NSString*)appId
                    sign:(NSString*)sign
                  params:(NSString *)params
               extParams:(NSMutableDictionary *)extParams
                selector:(SEL)selector
                  target:(id)targetVC;

d.实现回调
回调方法请传入selector进行注册,结果会在参数中,作为一个NSMutableDictionary 传递给商户解析。

在回调
- (void)result:(NSMutableDictionary*)dic;中返回的dic的参数是sign,authResult,params

sign : JXxfkpXYwimJJjwrUCw7UsorglpFG7H2EFuVjz92a4tGOanK2m/3dMbDaB7Cf74nUoUecvFx90ag3yBecMxFJJ1dnzZl/XVGGIRQEbHcQdkr8PSWQq+92RwyyE6HJgeUSeKzjCwlN7+E62WVphL9Ky2souxW60q2A65uCI6URh4=,
authResult : success,
params : TfbXXQgOh9jvRMPD4pIhY2fm97gME6+maURdIjph5QgxFeMQfaMk3/pjy3ZpyqaUnvIUx6xBazXvVP0G2BYD28/s9GMfFYvSGeLMosF0edn+D5MDXQttpvBW46h6gsWbpU7FSlC+Ga/zM13USCHLHqFmS7Bc/HiRpqlBOyDpM2gQgtH9yb7xe4OXo0MetICxbuzsTyPxxRHVANgacH4lj6YUs3vx/nmbQx2+D/nbtSefsiw==

e.前端需要继续用服务端写好的接口(服务端自己看文档),把signparams传给服务端。这是服务端解析成功返回给前端的就会有对应的参数比如score,这里服务端也会得到这个分数,因此我建议这里可以把UID一并也传过去,这样服务端再得到分数后可以直接保存再数据库,下次查询只需要查找数据库,不用重新授权查询.不过分数会每月更新,所以需要判断下当前时间是授权还是直接去数据库中查找了,这里你们自己商量。

到这里其实基本集成完毕了。亲测可用,如果大家在集成的过程中遇到什么困难也可以直接找我。官方文档
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容