本机认证

最近更新时间:2020-06-04 18:53:15

目录

OnePass(本机认证)

1、调用逻辑

  • init()初始化 SDK
  • getToken()获取手机号对应的Token

2、接口配置

  • 初始化接口
OnePassHelper.with().init(MainActivity.this);
  • 本机号校验接口
OnePassHelper.with().getToken(phone, appId, onePassListener);
//第一个参数为输入的手机号码
//第二个参数为所需要配置的 APPID
//第三个参数为所需实现监听回调结果接口
  • 回调实现接口
OnePassListener onePassListener = new OnePassListener() {
    @Override
    public void onTokenFail(JSONObject jsonObject) {
        //过程中出现的错误,具体参考下方错误码
    }

    @Override
    public void onTokenSuccess(JSONObject jsonObject) {
        //SDK 输出的参数,通过这些参数请求 verifyUrl 判断是否是本机号
    }

    @Override
    public boolean onAlgorithm() {
        //是否需要加密手机号,true 表示加密,false 表示不加密
    }
};

3、示例代码

3.1、初始化

  • 初始化

在项目的具体页面的onCreate方法里面进行初始化。

OnePassHelper.with().init(MainActivity.this);

3.2、本机号校验

OnePassListener onePassListener = new OnePassListener() {
    @Override
    public void onTokenFail(JSONObject jsonObject) {
        Log.i(Constants.TAG, "onTokenFail:" + jsonObject.toString());
        Utils.toastMessage(OnePassActivity.this, "本机认证失败");
        progressDialog.dismiss();
    }

    @Override
    public void onTokenSuccess(final JSONObject jsonObject) {
        Log.i(Constants.TAG, "onTokenSuccess:" + jsonObject.toString());
        try {
            jsonObject.put("id_2_sign", Constants.APPID);
            jsonObject.put("phone", phoneNumber);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        Log.i(Constants.TAG, "开始请求 checkgateway:" + jsonObject.toString());
        //请求服务端接口校验手机号码
        CheckGatewayTask checkGatewayTask = new CheckGatewayTask(OnePassActivity.this, jsonObject, progressDialog);
        checkGatewayTask.execute(Constants.CHECK_GATE_WAY);
    }
};

// 参数一为本机手机号
// 参数二为后台创建的 OnePass 应用的产品 APPID。
//    OneLogin 与 OnePass 属于不同的产品,注意产品 APPID 不可混用
// 参数三为本机号码认证的回调接口实现
OnePassHelper.with().getToken(phone, appId, onePassListener);

3.3、关闭页面

在页面关闭的时候执行此方法。

@Override
protected void onDestroy() {
    super.onDestroy();
    OnePassHelper.with().cancel();
}

金山云,开启您的云计算之旅

免费注册