1、点击上面的demo下载按钮,下载安卓端的SDK以及demo
2、将解压之后的文件中的DhvcCaptchaAndroidSDK.aar文件,放在安卓项目的libs下面,并在项目中app目录下的build.gradle中dependencies下添加如下代码:
compile(name:'DhvcCaptchaAndroidSDK',ext:'aar')
3、解压下载的文件,使用开发工具打开安卓验证码demo,在需要使用安全验证码的activity中配置获取token以及二次校验的相关接口:
// TODO 此为开发者服务器的域名,请更换成您自己的服务的路径
private String rootUrl = "https://dev.dahancloud.com/";
//TODO 此为获取验证码类型的方法名称,根据您的开发者服务器配置的验证码类型获取
private String verifyType = "getVerifyType";
//TODO 配置客户端SDK后台获取token的方法
private String getTokenUrl = "getToken";
//TODO 此为校验请求方法
private String loginUrl = "appLogin";
private EditText editTextAccount;
private EditText editTextPassword;
private SQLiteDatabase db;
4、加载安全验证码的webview页面
/**
* 点击获取滑块验证码
* TODO 请不要修改该方法中的参数信息
*/
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,InitActivity.class);
intent.putExtra("tokenUrl",rootUrl+getTokenUrl);
intent.putExtra("verifyType",rootUrl+verifyType);
startActivityForResult(intent,0);
}
});
5、安全验证码校验完成之后,进行用户的登录或者其他操作以及二次校验请求
/**
* TODO 二次校验方法,请不要修改此方法
* @param list
* @return
*/
public String getStatus (List list,String account,String password){
//TODO 此为参数类
RequestParam requestParam = list.get(0);
//TODO 获取校验参数
String code = requestParam.getCode();
String cliId = requestParam.getCliId();
String param = requestParam.getParam();
//TODO 登录二次校验工具方法,将账号密码以及param参数传送至服务器,进行登录验证以及二次校验
String result = HttpUtil.secondVerify(rootUrl+loginUrl,param,account,password);
return result;
}
6、在服务端sdk中添加安全验证码校验通过之后的其他方法,如login等,可结合自己的实际需求设计首次校验之后的操作,但在进行下一步操作之前务必先进行二次校验
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取http请求携带的参数
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(req.getInputStream(),"utf-8"));
String info = null;
StringBuilder stringBuilder = new StringBuilder();
while ((info = bufferedReader.readLine()) != null){
stringBuilder.append(info);
}
JSONObject getParam = JSONObject.parseObject(stringBuilder.toString());
String params = getParam.getString("dhvcVerify");
String account = getParam.getString("userAccount");
String password = getParam.getString("password");
// TODO 二次校验方法
Boolean flag = secondVerify(params,req);
String status;
if(flag){
// TODO 用户校验账号密码
if(account.equals("111") && password.equals("123")){
status = "true";
}else{
status = "false";
}
}else{
status = "verify error";
}
PrintWriter printWriter = resp.getWriter();
printWriter.write(status);
printWriter.close();
}
7、修改签名配置,在oppo等移动端商店,在进行测试时会需要安装签名保证安全,需要修改项目中build.gradle的代码,将jks文件的路径配置为自己的文件路径,keyPassword、storePassword和keyAlias需更换为您自己的信息
signingConfigs {
config {
keyAlias '****'
keyPassword 'zjl******'
storeFile file('F:/APKKey/test.jks')
storePassword 'zjl******'
}
}