init
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
package com.ruoyi.xq.tencent;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ruoyi.xq.util.JsonUtils;
|
||||
import com.tencentcloudapi.common.AbstractModel;
|
||||
import com.tencentcloudapi.common.Credential;
|
||||
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
|
||||
import com.tencentcloudapi.common.profile.ClientProfile;
|
||||
import com.tencentcloudapi.common.profile.HttpProfile;
|
||||
import com.tencentcloudapi.faceid.v20180301.FaceidClient;
|
||||
import com.tencentcloudapi.faceid.v20180301.models.*;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class TencentAuthClient {
|
||||
|
||||
public static boolean faceDetectIsPass(String bizToken) {
|
||||
GetDetectInfoEnhancedResponse resp = getDetectInfo(bizToken);
|
||||
if (!Objects.isNull(resp)) {
|
||||
DetectInfoText text = resp.getText();
|
||||
return !Objects.isNull(text) && text.getErrCode().intValue() == 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 实名核身鉴权
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static GetDetectInfoEnhancedResponse getDetectInfo(String bizToken) {
|
||||
GetDetectInfoEnhancedResponse resp = null;
|
||||
try {
|
||||
Credential cred = new Credential("AKIDviL2b1KWHGNdR6gLwLbfaHpBSVQ8i8Pe", "DapskQxS7gBXlsqgP0a0KXXK8oy45INf");
|
||||
HttpProfile httpProfile = new HttpProfile();
|
||||
httpProfile.setEndpoint("faceid.tencentcloudapi.com");
|
||||
httpProfile.setConnTimeout(10); // 请求连接超时时间,单位为秒(默认60秒)
|
||||
httpProfile.setWriteTimeout(10); // 设置写入超时时间,单位为秒(默认0秒)
|
||||
httpProfile.setReadTimeout(10);
|
||||
ClientProfile clientProfile = new ClientProfile();
|
||||
clientProfile.setHttpProfile(httpProfile);
|
||||
FaceidClient client = new FaceidClient(cred, "", clientProfile);
|
||||
GetDetectInfoEnhancedRequest req = new GetDetectInfoEnhancedRequest();
|
||||
req.setBizToken(bizToken);
|
||||
req.setInfoType("0");
|
||||
req.setRuleId("1");
|
||||
resp = client.GetDetectInfoEnhanced(req);
|
||||
} catch (TencentCloudSDKException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return resp;
|
||||
}
|
||||
|
||||
public static CreateAuthResp createToken(String extra,String redirectUrl){
|
||||
try{
|
||||
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
|
||||
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
|
||||
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
|
||||
Credential cred = new Credential("AKIDviL2b1KWHGNdR6gLwLbfaHpBSVQ8i8Pe", "DapskQxS7gBXlsqgP0a0KXXK8oy45INf");
|
||||
// 实例化一个http选项,可选的,没有特殊需求可以跳过
|
||||
HttpProfile httpProfile = new HttpProfile();
|
||||
httpProfile.setEndpoint("faceid.tencentcloudapi.com");
|
||||
// 实例化一个client选项,可选的,没有特殊需求可以跳过
|
||||
ClientProfile clientProfile = new ClientProfile();
|
||||
clientProfile.setHttpProfile(httpProfile);
|
||||
// 实例化要请求产品的client对象,clientProfile是可选的
|
||||
FaceidClient client = new FaceidClient(cred, "", clientProfile);
|
||||
// 实例化一个请求对象,每个接口都会对应一个request对象
|
||||
DetectAuthRequest req = new DetectAuthRequest();
|
||||
req.setRuleId("1");
|
||||
// 透传参数
|
||||
req.setExtra(extra);
|
||||
// 跳转的URL
|
||||
req.setRedirectUrl(redirectUrl);
|
||||
// 返回的resp是一个DetectAuthResponse的实例,与请求对象对应
|
||||
DetectAuthResponse resp = client.DetectAuth(req);
|
||||
// 输出json格式的字符串回包
|
||||
System.out.println(AbstractModel.toJsonString(resp));
|
||||
return JsonUtils.parseObject(AbstractModel.toJsonString(resp), CreateAuthResp.class);
|
||||
} catch (TencentCloudSDKException e) {
|
||||
System.out.println(e.toString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
// createToken(null,null);
|
||||
GetDetectInfoEnhancedResponse detectInfo = getDetectInfo("09792FA0-C269-401F-B8DB-E68B680E0728");
|
||||
System.out.println(JSON.toJSONString(detectInfo));
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user