Sample.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. /**
  3. * 实人认证
  4. */
  5. namespace utils;
  6. use AlibabaCloud\SDK\Cloudauth\V20190307\Cloudauth;
  7. use AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeFaceVerifyRequest;
  8. use AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeVerifyResultRequest;
  9. use AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeVerifyTokenRequest;
  10. use Darabonba\OpenApi\Models\Config;
  11. use AlibabaCloud\SDK\Cloudauth\V20190307\Models\InitFaceVerifyRequest;
  12. use think\facade\Db;
  13. class Sample
  14. {
  15. /**
  16. * 使用AK&SK初始化账号Client
  17. * @param string $accessKeyId
  18. * @param string $accessKeySecret
  19. * @return Cloudauth Client
  20. */
  21. public static function createClient ($accessKeyId, $accessKeySecret)
  22. {
  23. $config = new Config([
  24. // 您的AccessKey ID
  25. "accessKeyId" => $accessKeyId,
  26. // 您的AccessKey Secret
  27. "accessKeySecret" => $accessKeySecret
  28. ]);
  29. // 访问的域名
  30. $config->endpoint = "cloudauth.aliyuncs.com";
  31. return new Cloudauth($config);
  32. }
  33. /**
  34. * 获取token(实人认证)
  35. * @param $args
  36. * @return \AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeVerifyTokenResponse|array
  37. */
  38. public static function get_token ($args)
  39. {
  40. $client = self::createClient($args['AccessKey'], $args['Secret']);
  41. $describeVerifyTokenRequest = new DescribeVerifyTokenRequest([
  42. "bizType" => $args['BizType'],
  43. "bizId" => $args['BizId'],
  44. ]);
  45. // 复制代码运行请自行打印 API 的返回值
  46. $res = $client->describeVerifyToken($describeVerifyTokenRequest);
  47. $res = object_array($res);
  48. return $res;
  49. }
  50. /**
  51. * 获取认证结果
  52. * @param $args
  53. * @return \AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeVerifyResultResponse|array
  54. */
  55. public static function get_result ($args)
  56. {
  57. $client = self::createClient($args['AccessKey'], $args['Secret']);
  58. $describeVerifyResultRequest = new DescribeVerifyResultRequest([
  59. "bizType" => $args['BizType'],
  60. "bizId" => $args['BizId']
  61. ]);
  62. // 复制代码运行请自行打印 API 的返回值
  63. $res = $client->describeVerifyResult($describeVerifyResultRequest);
  64. $res = object_array($res);
  65. return $res;
  66. }
  67. /**
  68. * 金融级实人认证获取CertifyId
  69. * @param $args
  70. * @return \AlibabaCloud\SDK\Cloudauth\V20190307\Models\InitFaceVerifyResponse|array
  71. */
  72. static public function get_finance_token ($args)
  73. {
  74. $client = self::createClient($args['AccessKey'], $args['Secret']);
  75. $initFaceVerifyRequest = new InitFaceVerifyRequest([
  76. 'sceneId' => $args['sceneId'], // 要接入的认证场景ID。
  77. 'outerOrderNo' => $args['outerOrderNo'], // 您自定义的业务唯一标识,用于后续定位排查问题使用。
  78. 'metaInfo' => $args['metaInfo'],
  79. 'productCode' => 'ID_PRO',
  80. 'certType'=> 'IDENTITY_CARD',
  81. 'certName'=>$args['CertName'],
  82. 'certNo'=>$args['CertNo'],
  83. ]);
  84. // 复制代码运行请自行打印 API 的返回值
  85. $res = $client->initFaceVerify($initFaceVerifyRequest);
  86. $res = object_array($res);
  87. return $res;
  88. }
  89. /**
  90. * 获取认证结果(金融级实人认证)
  91. * @param $args
  92. * @return \AlibabaCloud\SDK\Cloudauth\V20190307\Models\DescribeVerifyResultResponse|array
  93. */
  94. public static function get_finance_result ($args)
  95. {
  96. $client = self::createClient($args['AccessKey'], $args['Secret']);
  97. $describeVerifyResultRequest = new DescribeFaceVerifyRequest([
  98. "sceneId" => $args['SceneId'],
  99. "certifyId" => $args['CertifyId']
  100. ]);
  101. // 复制代码运行请自行打印 API 的返回值
  102. $res = $client->describeFaceVerify($describeVerifyResultRequest);
  103. $res = object_array($res);
  104. return $res;
  105. }
  106. }