本文为您介绍了一键登录和本机号码校验功能的交互流程。开发者需要在App中集成号码认证服务客户端SDK,并在服务端完成API对接。

使用场景

号码认证服务包含一键登录和本机号码校验两个不同的功能,使用场景不一样,无需一起使用。
  • 本机号码校验使用场景:请您输⼊⼿机号码,通过SDK获取Token,服务端携带输⼊的⼿机号码和Token到运营商⽹关进⾏校验,返回的结果显示您当前上⽹使⽤的号码与校验的号码是否⼀致。
  • 一键登录使用场景:您⽆需输⼊⼿机号码,SDK会弹出授权⻚,确认授权后,SDK获取Token,服务端携带Token到运营商⽹关获取您当前上⽹使⽤的号码,并返回给App服务端。

一键登录的交互流程

一键登录的系统交互流程主要分为四个步骤:SDK初始化、唤起授权页、同意授权并登录、取号。一键登录
  1. SDK初始化
    1. 访问App页面。
    2. 调用getVersion接口获取SDK版本号,并进行终端网络环境判断。SDK详情请参见:Android客户端接入IOS客户端接入
  2. 唤起授权页
    1. 初始化成功后,调用getLoginToken接口唤起授权页面。
    2. SDK会先请求脱敏号码。
    3. 请求成功后会在授权页面展示脱敏号码及运营商协议供终端用户确认。
    注意
    • 一键登录或注册需用户确认授权方可使用,且登录按钮文字描述必须包含“登录”、注册按钮文字描述必须包含“注册”等文字,不得诱导用户授权,开发者不得通过任何技术手段跳过或模拟此步骤,否则我方有权停止服务并追究相关法律责任。
    • 对于接入移动认证SDK并上线的应用,阿里云对上线的应用授权页面做审查,若出现未按要求弹出或设计授权页面的,将停止应用的一键登录或注册服务。
    • 为减少授权页唤起的等待时间,可预先判断用户是否需要进行登录或注册,如果需要可调用预取号接口,调用后会在终端侧缓存预取号信息,供后续流程使用。
    • 请注意预取号(不收费)的频率,阿里云会在预取号与实际取号的比例异常时,停止提供相应的服务。
  3. 同意授权并登录
    1. 确认授权页面的内容,并同意相关协议。
    2. 单击授权页面的登录或注册按钮,SDK会发起本次取号的Token获取。
    3. 获取成功后将Token返回给开发者App。
  4. 取号
    1. 开发者App将获得的取号Token传递至开发者服务器端。
    2. 开发者服务端携带Token调用号码认证服务端GetMobile接口。
    3. 号码认证服务端取得号码后将号码返回给开发者服务端。

本机号码校验

号码认证的系统交互流程主要分为三个步骤:SDK初始化、获取认证参数、发起认证。本机号码校验
  1. SDK初始化
    1. 用户访问App页面。
    2. 调用getVersion接口获取SDK版本号、初始化。SDK详情请参见:Android客户端接入IOS客户端接入
    注意 对于Android系统,当用户授权允许读取SIM卡数据时,public InitResult init();会同时返回从SIM卡读取到的手机号码,帮助用户提前填写手机号码。如果用户未授权或其它原因,则该函数仅返回是否支持号码认证。iOS系统不支持从SIM卡读取手机号码进行助填。
  2. 获取认证参数
    1. 用户输入认证手机号码。
    2. 调用getInstance接口获取认证相关参数。
    3. 返回认证参数。
  3. 发起认证
    1. 开发者App向其服务端发起认证请求。
    2. 调用认证接口。开发者服务端调用本机号码校验认证VerifyMobile接口获取认证结果,判断用户输入的手机号码与用户终端当前访问网络的手机号码是否一致。