This commit is contained in:
张良(004796)
2024-04-29 15:00:17 +08:00
parent 6669ab0414
commit 1a0f5e9e16
9 changed files with 220 additions and 81 deletions

View File

@@ -23,8 +23,7 @@ public class TencentAuthClient {
private final static String SECRET_KEY = "DapskQxS7gBXlsqgP0a0KXXK8oy45INf";
public static boolean faceDetectIsPass(String bizToken) {
GetDetectInfoEnhancedResponse resp = getDetectInfo(bizToken);
public static boolean faceDetectIsPass(GetDetectInfoEnhancedResponse resp) {
if (!Objects.isNull(resp)) {
DetectInfoText text = resp.getText();
return !Objects.isNull(text) && text.getErrCode().intValue() == 0;
@@ -38,66 +37,56 @@ public class TencentAuthClient {
*
* @return
*/
public static GetDetectInfoEnhancedResponse getDetectInfo(String bizToken) {
public static GetDetectInfoEnhancedResponse getDetectInfo(String bizToken) throws TencentCloudSDKException {
GetDetectInfoEnhancedResponse resp = null;
try {
Credential cred = new Credential(SECRET_ID, SECRET_KEY);
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;
Credential cred = new Credential(SECRET_ID, SECRET_KEY);
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");
return client.GetDetectInfoEnhanced(req);
}
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(SECRET_ID, SECRET_KEY);
// 实例化一个http选项可选的没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("faceid.tencentcloudapi.com");
httpProfile.setConnTimeout(10); // 请求连接超时时间,单位为秒(默认60秒)
httpProfile.setWriteTimeout(10); // 设置写入超时时间,单位为秒(默认0秒)
httpProfile.setReadTimeout(10);
// 实例化一个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 CreateAuthResp createToken(String extra,String redirectUrl) throws TencentCloudSDKException {
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey此处还需注意密钥对的保密
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露并威胁账号下所有资源的安全性。以下代码示例仅供参考建议采用更安全的方式来使用密钥请参见https://cloud.tencent.com/document/product/1278/85305
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
Credential cred = new Credential(SECRET_ID, SECRET_KEY);
// 实例化一个http选项可选的没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("faceid.tencentcloudapi.com");
httpProfile.setConnTimeout(10); // 请求连接超时时间,单位为秒(默认60秒)
httpProfile.setWriteTimeout(10); // 设置写入超时时间,单位为秒(默认0秒)
httpProfile.setReadTimeout(10);
// 实例化一个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);
}
public static void main(String[] args) {
public static void main(String[] args) throws TencentCloudSDKException {
// createToken(null,null);
GetDetectInfoEnhancedResponse detectInfo = getDetectInfo("09792FA0-C269-401F-B8DB-E68B680E0728");
System.out.println(JSON.toJSONString(detectInfo));