aliphone

来自于:开发者立即使用

verify

概述

阿里云手机号码认证服务 是一款通过网络认证服务的模块.

产品概述   号码认证服务(Phone Number Verification Service)整合三大运营商特有的数据网关认证能力,验证用户本机号码与输入号码或账号绑定号码的一致性,升级短信验证码体验,应用于用户注册、登陆、安全校验等场景,可实现用户无感知校验,操作更安全、便捷、低时延。

应用场景   号码认证产品可应用在APP新用户注册、登录、手机号绑定等业务场景,以实现快速校验用户输入号码与本机号码是否一致。

新用户注册   新用户注册时直接以手机号为账号,可快速校验用户输入号码是否与本机号码一致,缩短用户注册流程,免去验证码等待、输入的操作步骤,同时避免由短信验证码带来的延迟、木马拦截等问题。若用户输入的不是本机号码,则可继续沿用原短信验证码的注册流程,两个流程可做到无缝兼容。

用户登录   自动校验用户登录时输入的手机号码是否为本机号码,免输登陆密码或短信验证码,实现一键快捷登陆,打造用户登陆的全新体验。

安全风控   提供快速校验用户输入号码是否本机号的工具,针对如手机号绑定、支付确认、积分兑换等需要具备安全校验能力的业务场景,提供仅限本机操作的安全风控机制,同时还可快速预判刷单行为,将“褥羊毛”拒之门外。

产品优势 一键认证   用户输入手机号码后,一键即可完成认证,是短信验证码的升级方案,校验更安全、便捷、低时延。

全网先发   支持中国三大运营商全网手机号码认证,一点接入,全国全网覆盖。

便捷接入   SDK简易接入,降低接入成本,支持应用开发者便捷调用。

场景丰富   适用于以手机号进行注册、登陆、安全风控的场景,可实现用户无感知校验,拓宽校验场景。

模块配置

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

  • 名称:aliphone
  • 配置示例:
  1. <feature name="aliphone">
  2. <param name="appkey" value="LTAIHnKvhpr3xxxxxxxx" />
  3. <param name="secretKey" value="XIEUwEl5EEduxxxxxxxx" />
  4. <param name="sceneCodeIos" value="FC1000000436xxxxxxxx" />
  5. <param name="sceneCodeAndroid" value="FC100000043xxxxxxxx" />
  6. </feature>
  • 字段描述:

    appkey:(必须配置) 在阿里云申请的AccessKey

    secretKey:(必须配置) 在阿里云申请的当前AccessKey对应的Access Key Secret

    sceneCodeIos:(必须配置) 在阿里云号码认证服务申请的当前应用的方案CODE(ios专用)

    sceneCodeAndroid:(必须配置) 在阿里云号码认证服务申请的当前应用的方案CODE(android专用)

  • 申请教程见最下方(注意:申请时android必须用正式签名的包申请,ios必须用正式的BundleID,需要在阿里云申请两个认证方案,一个安卓和一个苹果的)

模块提供的方法

verify

一键验证

verify({params}, callback(ret, err))

params

phone:

  • 类型:字符串
  • 描述:手机号码
  • 必填: 是

    1. - 当前用户填写的手机号码
    2. - 如果是安卓的可以直接通过api.getPhoneNumber({ sync: true });得到手机号码(必须要有读取手机信息权限)
    3. - 苹果端无法获取到手机号码,须用户填写
    4. - ios必须开启蜂窝网络,android必须开启4g网络,可同时开wifi和蜂窝(或移动)网络才能验证成功

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. - 根据ret中的status的值决定是否能进行认证,此值只有通过了认证才会是true,其它都是false
    1. {
    2. status:false,
    3. msg:"初始化失败",
    4. data:101
    5. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. }

    示例代码

  1. var aliphone = api.require('aliphone');
  2. aliphone.verify({
  3. phone: 13544445555
  4. }, function (rs, err) {
  5. alert(JSON.stringify(rs));
  6. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

使用方法及建议

ios没有办法获取手机号码,只能用户填写 android可先获取手机号码,再填写到用户注册的号码框中,这样用户可不用填写手机号,建议代码如下

  1. //只安桌才能获取到手机号,有可能会获取不到,获取到号码时会带有+86
  2. if(api.systemType == 'android') {
  3. var num = api.getPhoneNumber({ sync: true });
  4. if(num){
  5. var phone = num.replace("+86",'');
  6. //得到了手机号码可以填写到输入框中
  7. }
  8. }
  • 参考演示 Alt text Alt text

API申请教程

  1. 目前此功能只限企业账号申请,后期是否针对个人用户开放还需看阿里云的运营决定
  2. 使用此模块,必须签名,包名都与在阿里云申请时一致才可正常使用
  3. 申请地址 https://dypns.console.aliyun.com/#/overview
  4. 申请说明 先注册阿里云账号,然后进入申请地址,并开通此功能
  5. 申请通过后即可看到如下图所示

Alt text

  1. 可以直接点击 创建认证方案 进行添加APP

Alt text

  1. 获取安卓签名工具下载
  2. http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/87870/cn_zh/1534313766610/AppSignGet.apk?spm=a2c4g.11186623.2.3.625e1d93XqnQOJ&file=AppSignGet.apk
  3. 添加成功后,开始申请AccessKey
  4. 打开地址 https://usercenter.console.aliyun.com/

Alt text

  1. 点击 开始使用子用户AccessKey

Alt text

  1. 填写一个名称,方便自己知道是哪个应用使用这了个appkey
  2. 输入AliyunDypns查找即可出现需要出现的对应权限
  3. 两个都选中,然后开始创建即可(如要短信验证,请输入验证码验证,通过后就创建成功)

Alt text

Alt text

  1. 将得到的AccessKeyAccessKeySecret和方案CODE一起填入到config.xml中配置即可

注意事项

  1. IOS手机需要开启蜂窝网络,android需要开启移动数据流量才能验证成功.
  2. 可以同时开启wifi和流量(无论当前接入的是wifi还是流量模式)都可验证,如只开了wifi不打开3G4G流量,则无法验证成功

反馈和建议

如遇技术原因可加QQ群 865279417(注明 aliphone) 只提供模块接入协助,非技术人员,或闲聊者勿扰.