Question

Authentication Intermittently failing PHP SDK

  • 2 December 2019
  • 4 replies
  • 2103 views

I have an issue that can be consistently recreated via the PHP SDK.

When trying to authenticate my Sandbox account, 2 out of 3 login attempts will fail with an unrecoverable error.

[02-Dec-2019 15:50:36 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:39 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:42 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:45 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:47 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Serialization of 'Closure' is not allowed in [no active file]:0
Stack trace:
#0 {main}
  thrown in [no active file] on line 0
[02-Dec-2019 15:50:51 Australia/Melbourne] PHP Fatal error:  Uncaught Exception: Response has unsuccessful status in /vendor/ringcentral/ringcentral-php/src/Http/Client.php:44
Stack trace:
#0 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(329): RingCentralSDKHttpClient->send(Object(GuzzleHttpPsr7Request))
#1 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(465): RingCentralSDKPlatformPlatform->sendRequest(Object(GuzzleHttpPsr7Request), Array)
#2 /vendor/ringcentral/ringcentral-php/src/Platform/Platform.php(221): RingCentralSDKPlatformPlatform->requestToken('/restapi/oauth/...', Array)
#3 /_classes/TelephonyRingCentral.class.php(55): RingCentralSDKPlatformPlatform->login(Array, '', 'some_password')
#4 /Users/nigelmclaughlin/Documents/WIP/REAS_ in /vendor/ringcentral/ringcentral-php/src/Http/Client.php on line 52

The credentials haven't changed in between. If I try again, sometimes it's successful and sometimes it isn't.

Has anyone else experienced this issue?


4 replies

Hi, This is purely a serialization issue. Are you using Closure or it is coming from PHP SDK? Please have a look at the below link.

https://stackoverflow.com/questions/13734224/exception-serialization-of-closure-is-not-allowed

Meanwhile, you can open a support ticket with the RingCentral developer support team.

After digging into the SDK code it turns out it's returning a 429 error due to rate limiting and throwing an exception due to this.

Userlevel 1

How to deal with 429 response would be the answer.

429 is as you discovered a rate limiting issue which actually restrict the API from multiple call for a certain number of time.

There is an official docs available which will help you to understand how this rate limit works and how can you avoid or fix with usage policy :

https://developers.ringcentral.com/guide/basics/rate-limits

Reply