googleapis / googleapis/google-cloud-php
[DEPRECATED] hashed_account_id is deprecated. in VENDORPATH/google/cloud-recaptcha-enterprise/src/V1/Event.php on line 372.
- Dominant language
- PHP
- Stars
- 1.2k
- Forks
- 463
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 145
Description
I am getting a deprecation error about hashed_account_id even though I just installed the latest version of google/cloud-recaptcha-enterprise through composer.
```
[DEPRECATED] hashed_account_id is deprecated. in VENDORPATH/google/cloud-recaptcha-enterprise/src/V1/Event.php on line 372.
1 VENDORPATH/google/cloud-recaptcha-enterprise/src/V1/Event.php(372): trigger_error('hashed_account_id is deprecated.', 16384)
2 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(1323): Google\Cloud\RecaptchaEnterprise\V1\Event->setHashedAccountId('')
3 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(1228): Google\Protobuf\Internal\Message->mergeFromArrayJsonImpl([...], true)
4 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(856): Google\Protobuf\Internal\Message->mergeFromJsonArray([...], true)
5 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(1308): Google\Protobuf\Internal\Message->convertJsonValueToProtoValue([...], Object(Google\Protobuf\Internal\FieldDescriptor), true)
6 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(1228): Google\Protobuf\Internal\Message->mergeFromArrayJsonImpl([...], true)
7 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(1347): Google\Protobuf\Internal\Message->mergeFromJsonArray([...], true)
8 VENDORPATH/google/protobuf/src/Google/Protobuf/Internal/Message.php(782): Google\Protobuf\Internal\Message->parseFromJsonStream(Object(Google\Protobuf\Internal\RawInputStream), true)
9 VENDORPATH/google/gax/src/Transport/RestTransport.php(145): Google\Protobuf\Internal\Message->mergeFromJsonString('{
I'm omitting this part because it contains sensitive information like keys
10 VENDORPATH/guzzlehttp/promises/src/Promise.php(209): Google\ApiCore\Transport\RestTransport->Google\ApiCore\Transport\{closure}(Object(GuzzleHttp\Psr7\Response))
11 VENDORPATH/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), null)
12 VENDORPATH/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}()
13 VENDORPATH/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(167): GuzzleHttp\Promise\TaskQueue->run()
14 VENDORPATH/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(206): GuzzleHttp\Handler\CurlMultiHandler->tick()
15 VENDORPATH/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
16 VENDORPATH/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
17 VENDORPATH/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
18 VENDORPATH/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
19 VENDORPATH/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
20 VENDORPATH/google/cloud-recaptcha-enterprise/src/V1/Client/RecaptchaEnterpriseServiceClient.php(477): GuzzleHttp\Promise\Promise->wait()
21 APPPATH/Validation/Captcha.php(80): Google\Cloud\RecaptchaEnterprise\V1\Client\RecaptchaEnterpriseServiceClient->createAssessment(Object(Google\Cloud\RecaptchaEnterprise\V1\CreateAssessmentRequest))
24 SYSTEMPATH/Controller.php(151): CodeIgniter\Validation\Validation->run([...], null, null)
25 APPPATH/Controllers/PublicServices/MyController.php(510): CodeIgniter\Controller->validateData([...], [...])
26 SYSTEMPATH/CodeIgniter.php(933): App\Controllers\PublicServices\MyController->submitCheckout()
27 SYSTEMPATH/CodeIgniter.php(507): CodeIgniter\CodeIgniter->runController(Object(App\Controllers\PublicServices\MyController))
28 SYSTEMPATH/CodeIgniter.php(354): CodeIgniter\CodeIgniter->handleRequest(null, Object(Config\Cache), false)
29 SYSTEMPATH/Boot.php(363): CodeIgniter\CodeIgniter->run()
30 SYSTEMPATH/Boot.php(68): CodeIgniter\Boot::runCodeIgniter(Object(CodeIgniter\CodeIgniter))
31 FCPATH/index.php(114): CodeIgniter\Boot::bootWeb(Object(Config\Paths))
```
#### Environment details
- OS: Debian GNU/Linux 12 (bookworm)
- PHP version: 8.2.33
- Package name and version: google/cloud-recaptcha-enterprise
#### Steps to reproduce
1. clean install of cloud-recaptcha-enterprise with `composer require google/cloud-recaptcha-enterprise`
2. do a recaptcha assessment with php code
#### Code example
```php
# example
$client = new RecaptchaEnterpriseServiceClient($clientOptions);
$formattedParent = RecaptchaEnterpriseServiceClient::projectName($config->projectId);
$userAgent = $request->getUserAgent() ? $request->getUserAgent()->getAgentString() : '';
$event = (new Event())
->setSiteKey($config->siteKey)
->setToken($value)
->setExpectedAction($expectedAction)
->setUserIpAddress($ip)
->setUserAgent($userAgent);
$assessment = (new Assessment())
->setEvent($event);
$assessmentRequest = (new CreateAssessmentRequest())
->setParent($formattedParent)
->setAssessment($assessment);
$response = $client->createAssessment($assessmentRequest);
```
Contributor guide
Research direction
Start at APPPATH/Validation/Captcha.php line 80 and VENDORPATH/google/cloud-recaptcha-enterprise/src/V1/Event.php line 372, then follow the protobuf JSON parsing frames in the report. Reproduce the assessment after a clean Composer install and identify why hashed_account_id is being populated. Done means the documented assessment flow completes without this deprecation notice.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, php
- Domain
- api, backend, cloud
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100