aliphone
来自于:开发者立即使用
概述
阿里云手机号码认证服务 是一款通过网络认证服务的模块.
产品概述 号码认证服务(Phone Number Verification Service)整合三大运营商特有的数据网关认证能力,验证用户本机号码与输入号码或账号绑定号码的一致性,升级短信验证码体验,应用于用户注册、登陆、安全校验等场景,可实现用户无感知校验,操作更安全、便捷、低时延。
应用场景 号码认证产品可应用在APP新用户注册、登录、手机号绑定等业务场景,以实现快速校验用户输入号码与本机号码是否一致。
新用户注册 新用户注册时直接以手机号为账号,可快速校验用户输入号码是否与本机号码一致,缩短用户注册流程,免去验证码等待、输入的操作步骤,同时避免由短信验证码带来的延迟、木马拦截等问题。若用户输入的不是本机号码,则可继续沿用原短信验证码的注册流程,两个流程可做到无缝兼容。
用户登录 自动校验用户登录时输入的手机号码是否为本机号码,免输登陆密码或短信验证码,实现一键快捷登陆,打造用户登陆的全新体验。
安全风控 提供快速校验用户输入号码是否本机号的工具,针对如手机号绑定、支付确认、积分兑换等需要具备安全校验能力的业务场景,提供仅限本机操作的安全风控机制,同时还可快速预判刷单行为,将“褥羊毛”拒之门外。
产品优势 一键认证 用户输入手机号码后,一键即可完成认证,是短信验证码的升级方案,校验更安全、便捷、低时延。
全网先发 支持中国三大运营商全网手机号码认证,一点接入,全国全网覆盖。
便捷接入 SDK简易接入,降低接入成本,支持应用开发者便捷调用。
场景丰富 适用于以手机号进行注册、登陆、安全风控的场景,可实现用户无感知校验,拓宽校验场景。
模块配置
使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:
- 名称:aliphone
- 配置示例:
<feature name="aliphone">
<param name="appkey" value="LTAIHnKvhpr3xxxxxxxx" />
<param name="secretKey" value="XIEUwEl5EEduxxxxxxxx" />
<param name="sceneCodeIos" value="FC1000000436xxxxxxxx" />
<param name="sceneCodeAndroid" value="FC100000043xxxxxxxx" />
</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:
- 类型:字符串
- 描述:手机号码
必填: 是
- 当前用户填写的手机号码
- 如果是安卓的可以直接通过api.getPhoneNumber({ sync: true });得到手机号码(必须要有读取手机信息权限)
- 苹果端无法获取到手机号码,须用户填写
- ios必须开启蜂窝网络,android必须开启4g网络,可同时开wifi和蜂窝(或移动)网络才能验证成功
callback(ret, err)
ret:
- 类型:JSON对象
内部字段:
- 根据ret中的status的值决定是否能进行认证,此值只有通过了认证才会是true,其它都是false
{
status:false,
msg:"初始化失败",
data:101
}
err:
var aliphone = api.require('aliphone');
aliphone.verify({
phone: 13544445555
}, function (rs, err) {
alert(JSON.stringify(rs));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
使用方法及建议
ios没有办法获取手机号码,只能用户填写 android可先获取手机号码,再填写到用户注册的号码框中,这样用户可不用填写手机号,建议代码如下
//只安桌才能获取到手机号,有可能会获取不到,获取到号码时会带有+86
if(api.systemType == 'android') {
var num = api.getPhoneNumber({ sync: true });
if(num){
var phone = num.replace("+86",'');
//得到了手机号码可以填写到输入框中
}
}
- 参考演示
API申请教程
目前此功能只限企业账号申请,后期是否针对个人用户开放还需看阿里云的运营决定
使用此模块,必须签名,包名都与在阿里云申请时一致才可正常使用
申请地址 https://dypns.console.aliyun.com/#/overview
申请说明 先注册阿里云账号,然后进入申请地址,并开通此功能
申请通过后即可看到如下图所示
可以直接点击 创建认证方案 进行添加APP
获取安卓签名工具下载
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
添加成功后,开始申请AccessKey
打开地址 https://usercenter.console.aliyun.com/
点击 开始使用子用户AccessKey
填写一个名称,方便自己知道是哪个应用使用这了个appkey
输入AliyunDypns查找即可出现需要出现的对应权限
两个都选中,然后开始创建即可(如要短信验证,请输入验证码验证,通过后就创建成功)
将得到的AccessKey和AccessKeySecret和方案CODE一起填入到config.xml中配置即可
注意事项
IOS手机需要开启蜂窝网络,android需要开启移动数据流量才能验证成功.
可以同时开启wifi和流量(无论当前接入的是wifi还是流量模式)都可验证,如只开了wifi不打开3G或4G流量,则无法验证成功
反馈和建议
如遇技术原因可加QQ群 865279417(注明 aliphone) 只提供模块接入协助,非技术人员,或闲聊者勿扰.