aliOneLogin插件是对阿里云的号码认证服务插件进行集成,可以在YonBuilder移动开发项目中快速接入,快速调起一键登录的功能。
插件使用攻略
使用之前须获取阿里云访问密钥,创建认证方案,填入Android证书的包名,获取包签名,最后得到该认证方案的秘钥。
号码认证服务接入流程参考 阿里云号码认证服务使用流程
iOS端http请求配置
在iOS端,若终端设备使用的是中国联通SIM卡的5G移动数据,可能会导致使用一键登录功能获取本机号码失败。需要配置ATS(App Transport Security),具体配置方法参考[APP开发技巧] 【官方】iOS修改Info.plist 中“三.3. 配置ATS(App Transport Security)”
注意:iOS最低适配版本为iOS10
初始化SDK实例
register({params},callback(ret))
secretCode:
iOSsecretCode:
ret:
{
code:"" //SDK返回码
}
code的返回值可以参考codeValue
var aliOneLogin = api.require('aliOneLogin');
var params = {
"secretCode":"", //android认证方案密钥
"iOSsecretCode":""
}
aliOneLogin.register(params, function(ret){
api.alert({msg: JSON.stringify(ret)})
});
Android,iOS 系统
可提供的1.0.0及更高版本
设置授权页的样式
setAuthUIConfig({params})
navColor:
navText:
navTextColor:
navTextSize:
navHidden:
navReturnImgWidth:
navReturnImgHeight:
navReturnImgPath:
statusBarColor:
lightColor:
statusBarHidden:
sloganText:
sloganTextColor:
sloganTextSize:
logoImgPath:
logoHidden:
logoWidth:
logoHeight:
numberColor:
numberSize:
logBtnText:
logBtnTextColor:
logBtnTextSize:
logBtnWidth:
logBtnHeight:
logBtnBackgroundPath:
privacyOne:
privacyTwo:
privacyColor:
privacyTextSize:
setUnckeckedImgPath:
setCheckedImgPath:
switchAccText
closeReturnBack
scapeFullScreen
expandCheckScope
setScreenOrientation
setDialogWidth
setDialogHeight
setDiaLogoffsetX
setDiaLogoffsetY
setDialogBottom
isPrivacyAlert
isPrivacyAutoLogin
isPrivacyMask
privacyAlpha
privacyAlertAlpha
alertBgColor
privacyRadiusArray
privacyAlertWidth
privacyAlertHeight
privacyAlertTextSize
privacyAlertTitleColor
alertContentBackgroundColor
alertContentTextSize
alertContentColor
alertContentBaseColor
alertContentHorizontalMargin
alertContentVerticalMargin
alertContentAlignment
alertBtnTextColor
alertBtnTextSize
alertBtnWidth
alertBtnHeight
isAlertMaskClose
var params = {
"navColor":"#ff6f22",
"navText":"一键登录",
"navTextSize":18,
"navHidden":false,
"navReturnImgPath":"widget://image/back.png",
"navReturnImgWidth":24,
"navReturnImgHeight":24,
"statusBarColor":"#006699",
"lightColor":true,
"statusBarHidden":false,
"sloganText":"ttt认证登录",
"logoImgPath":"widget://image/10240.png",
"logoHidden":false,
"logoWidth":80,
"logoHeight":80,
"numberColor":"#006699",
"numberSize":18,
"logBtnText":"开始登录",
"logBtnTextColor":"#006699",
"logBtnWidth":300,
"logBtnHeight":50,
"logBtnBackgroundPath":"widget://image/login.png",
"privacyTwo":["apicloud","http://www.apicloud.com"],
"privacyOne":["用户协议","http://www.baidu.com"]
};
var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.setAuthUIConfig(params);
Android,iOS 系统
可提供的1.0.0及更高版本
唤起一键登录页面
oneKeyLogin({params},callback(ret))
timeOut:
ret:
{
code:"", //字符串类型;SDK返回状态码
token:"" //字符串类型;获取的token信息,仅当code为600000时有值
}
code的值为阿里云SDK返回值,具体可以参考阿里云SDK返回值,值如下:
返回码 | 返回码描述 | 建议 |
---|---|---|
600000 | 获取token成功 | 无 |
600001 | 唤起授权页成功 | 无 |
600002 | 唤起授权页失败 | 建议切换到其他登录方式 |
600004 | 获取运营商配置信息失败 | 创建工单联系工程师 |
600005 | 手机终端不安全 | 切换到其他登录方式 |
600007 | 未检测到sim卡 | 提示用户检查 SIM 卡后重试 |
600008 | 蜂窝网络未开启 | 提示用户开启移动网络后重试 |
600009 | 无法判断运营商 | 创建工单联系工程师 |
600010 | 未知异常 | 创建工单联系工程师 |
600011 | 获取token失败 | 切换到其他登录方式 |
600012 | 预取号失败 | 无 |
600013 | 运营商维护升级,该功能不可用 | 创建工单联系工程师 |
600014 | 运营商维护升级,该功能已达最大调用次数 | 创建工单联系工程师 |
600015 | 接口超时 | 切换到其他登录方式 |
600017 | AppID、Appkey解析失败 | 秘钥未设置或者设置错误,请先检查秘钥信息,如木遥无问题创建工单联系工程师 |
600021 | 点击登录时检测到运营商已切换 | 切换到其他登录方式 |
700000 | 点击返回,?户取消免密登录 | 无 |
700001 | 点击切换按钮,?户取消免密登录 | 无 |
700002 | 点击登录按钮事件 | 无 |
700003 | 点击check box事件 | 无 |
700004 | 点击协议富文本文字事件 | 无 |
var aliOneLogin = api.require('aliOneLogin');
var params = {
"timeOut":6000
}
aliOneLogin.oneKeyLogin(params, function(ret){
if(ret){
api.alert({msg:JSON.stringify(ret)})
}
});
Android,iOS 系统
可提供的1.0.0及更高版本
检查终端是否支持号码验证,(需要在register方法之后调用)
checkEnvAvailable(callback(ret))
ret:
{
"isCheck":true // true为支持号码验证,false为不支持
}
var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.checkEnvAvailable(function(ret){
api.alert({msg: JSON.stringify(ret)})
});
Android,iOS 系统
可提供的1.0.0及更高版本
返回默认上网运营商
getCurrentCarrierName(callback(ret))
ret:
{
mobileService:"" //字符串类型;CMCC、CUCC、CTCC。 iOS端返回比如中国移动、中国电信、中国联通
}
var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.getCurrentCarrierName(function(ret){
api.alert({msg: JSON.stringify(ret)})
});
Android,iOS 系统
可提供的1.0.0及更高版本
关闭授权页
quitLoginPage()
var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.quitLoginPage();
Android,iOS 系统
可提供的1.0.0及更高版本