aliOneLogin

立即使用

模块概述

aliOneLogin模块是对阿里云的号码认证服务模块进行集成,可以在APICloud项目中快速接入,快速调起一键登录的功能。

模块使用攻略

使用之前须获取阿里云访问密钥,创建认证方案,填入Android证书的包名,获取包签名,最后得到该认证方案的秘钥。

号码认证服务接入流程参考 阿里云号码认证服务使用流程

iOS端http请求配置

在iOS端,若终端设备使用的是中国联通SIM卡的5G移动数据,可能会导致使用一键登录功能获取本机号码失败。需要配置ATS(App Transport Security),具体配置方法参考[APP开发技巧] 【官方】iOS修改Info.plist 中“三.3. 配置ATS(App Transport Security)”

注意:iOS最低适配版本为iOS10

模块接口

register

初始化SDK实例

register({params},callback(ret))

params

secretCode:

  • 类型:字符串
  • 描述:Android认证方案的秘钥,申请方法参考创建认证方案,秘钥在号码认证产品控制台的号码认证服务下的认证方案管理中查看。

iOSsecretCode:

  • 类型:字符串
  • 描述:iOS认证方案的秘钥,申请方法参考创建认证方案,秘钥在号码认证产品控制台的号码认证服务下的认证方案管理中查看。

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    code:"" //SDK返回码
}

code的返回值可以参考codeValue

示例代码

var aliOneLogin = api.require('aliOneLogin');
var params = {
    "seretCode":"", //android认证方案密钥
    "iOSsecretCode":""
}
aliOneLogin.register(params, function(ret){
    alert(JSON.stringify(ret))
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

setAuthUIConfig

设置授权页的样式

setAuthUIConfig({params})

params

navColor:

  • 类型:字符串
  • 描述:(可选项)设置导航栏主题色,支持#、rgb、rgba
  • 默认值:#87CEFA

navText:

  • 类型:字符串
  • 描述:(可选项)设置导航栏标题文案内容
  • 默认值:免密登录

navTextColor:

  • 类型:字符串
  • 描述:(可选项)设置导航栏标题文字颜色
  • 默认值:#ffffff

navTextSize:

  • 类型:数字
  • 描述:(可选项)设置导航栏标题文字大小

navHidden:

  • 类型:布尔值
  • 描述:(可选项)设置导航栏是否隐藏
  • 默认值:false

navReturnImgWidth:

  • 类型:数字
  • 描述:(可选项)设置导航栏返回键图片宽度

navReturnImgHeight:

  • 类型:数字
  • 描述:(可选项)设置导航栏返回键图片高度

navReturnImgPath:

  • 类型:字符串
  • 描述:(可选项)设置导航栏返回键图片,android只支持widget://的方式

statusBarColor:

  • 类型:字符串
  • 描述:(可选项)设置状态栏颜色(只支持Android5.0以上系统版本)
  • 默认值:#FFFFFF

lightColor:

  • 类型:布尔值
  • 描述:(可选项) 设置状态栏文字颜色 true为黑色 false为白色
  • 默认值:false

statusBarHidden:

  • 类型:布尔值
  • 描述:(可选项)设置状态栏是否隐藏
  • 默认值:false

sloganText:

  • 类型:字符串
  • 描述:(可选项)设置slogan文字内容
  • 默认值:**提供认证服务

sloganTextColor:

  • 类型:字符串
  • 描述:(可选项)16进制字符串,设置slogan文字颜色

sloganTextSize:

  • 类型:数字
  • 描述:(可选项)设置slogan文字大小

logoImgPath:

  • 类型:字符串
  • 描述:(可选项)设置logo图片,android只支持widget://的方式

logoHidden:

  • 类型:布尔值
  • 描述:(可选项)设置logo是否隐藏
  • 默认值:false

logoWidth:

  • 类型:数字
  • 描述:(可选项)设置logo宽度
  • 默认值:90

logoHeight:

  • 类型:数字
  • 描述:(可选项)设置logo高度
  • 默认值:90

numberColor:

  • 类型:字符串
  • 描述:(可选项)16进制颜色字符串,设置掩码字体颜色

numberSize:

  • 类型:数字
  • 描述:(可选项)设置掩码字体大小

logBtnText:

  • 类型:字符串
  • 描述:(可选项)设置登录按钮文字内容,(注意文字必须包含登录或注册字段)
  • 默认值:一键登录

logBtnTextColor:

  • 类型:字符串
  • 描述:(可选项)16进制字符串,设置登录按钮文字颜色

logBtnTextSize:

  • 类型:数字
  • 描述:(可选项)设置登录按钮文字大小

logBtnWidth:

  • 类型:数字
  • 描述:(可选项)设置登录按钮宽度
  • 默认值:-1

logBtnHeight:

  • 类型:数字
  • 描述:(可选项)设置登录按钮高度
  • 默认值:51

logBtnBackgroundPath:

  • 类型:字符串
  • 描述:(可选项)设置登录按钮背景图片路径,android只支持widget://的方式

privacyOne:

  • 类型:数组
  • 描述:(可选项)自定义第一条隐私条款,[协议名称,协议Url]

privacyTwo:

  • 类型:数组
  • 描述:(可选项)自定义第二条隐私条款,[协议名称,协议Url]

privacyColor:

  • 类型:数组
  • 描述:(可选项)设置隐私条款名称颜色(基础文字颜色,协议文字颜色)

privacyTextSize:

  • 类型:数字
  • 描述:(可选项)设置隐私条款文字大小

setUnckeckedImgPath:

  • 类型:字符串
  • 描述:(可选项)设置复选框未选中时图片,android只支持widget://的方式

setCheckedImgPath:

  • 类型:字符串
  • 描述:(可选项)设置复选框选中时图片,android只支持widget://的方式

switchAccText

  • 类型:字符串
  • 描述:(可选项)设置切换按钮文字内容
  • 默认值:切换到其他方式

示例代码

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

唤起一键登录页面

oneKeyLogin({params},callback(ret))

params

timeOut:

  • 类型:数字
  • 描述:(可选项)设置超时时间
  • 默认值:5000

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    code:"",    //字符串类型;SDK返回状态码
    token:""    //字符串类型;获取的token信息,仅当code为600000时有值
}

code的值为阿里云SDK返回值,具体可以参考阿里云SDK返回值,值如下:

codeValue

返回码 返回码描述 建议
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及更高版本

checkEnvAvailable

检查终端是否支持号码验证

checkEnvAvailable(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
   "isCheck":true // true为支持号码验证,false为不支持
}

示例代码

var aliOneLogin = api.require('aliOneLogin');

aliOneLogin.checkEnvAvailable(function(ret){
    alert(JSON.stringify(ret))
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

getCurrentCarrierName

返回默认上网运营商

getCurrentCarrierName(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    mobileService:"" //字符串类型;CMCC、CUCC、CTCC。 iOS端返回比如中国移动、中国电信、中国联通
}

示例代码

var aliOneLogin = api.require('aliOneLogin');
aliOneLogin.getCurrentCarrierName(function(ret){
    alert(JSON.stringify(ret))
});

可用性

Android,iOS 系统

可提供的1.0.0及更高版本

quitLoginPage

关闭授权页

quitLoginPage()

示例代码

var aliOneLogin = api.require('aliOneLogin');

aliOneLogin.quitLoginPage();

可用性

Android,iOS 系统

可提供的1.0.0及更高版本