Organizr icon indicating copy to clipboard operation
Organizr copied to clipboard

Trakt.tv API connection - Slim Application Error

Open StefanBerecz opened this issue 2 years ago • 9 comments

Organizr Version: V 2.1.2330
Branch: Master
WebServer: Nginx (I think)
Operating System: Synology DSM (Linux based) (Docker)

Problem Description:

When I try to connect Organizr to the Trakt.tv API, following the recommended steps, I get a Slim Application Error code and can't continue.

I've tried tinkering around with different adresses, different browsers, users, deleting cookies and get this result either way. Since I had no problem with the trakt API up until now and didn't find a solution to my problem here on Github nor on Reddit, I would like to ask for help.


Reproduction Steps:
  1. Created new Trakt API and pasted in https://organizr.mydomain.com/api/v2/oauth/trakt as well as 192.XXX.X.XX:Port/api/v2/oauth/trakt
  2. Enter generated Client ID and Client Secret into the Connection Tab of Organizr Trakt Setup
  3. Save and try to connect
  4. New window opens, Trakt asks Allow New Organizr Integration to use your account?
  5. Click Yes
  6. Error pops up

Errors on screen? If so paste here:

> Slim Application Error

The application could not run because of the following error:
Details
Type: GuzzleHttp\Exception\ConnectException
Code: 0
Message: cURL error 6: Could not resolve host: api.trakt.tv (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.trakt.tv/oauth/token
File: /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
Line: 210
Trace

#0 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection()
#1 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError()
#2 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish()
#3 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()
#4 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(48): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#5 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(64): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#6 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#7 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#8 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Middleware.php(63): GuzzleHttp\RedirectMiddleware->__invoke()
#9 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#10 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(331): GuzzleHttp\HandlerStack->__invoke()
#11 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(107): GuzzleHttp\Client->transfer()
#12 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(123): GuzzleHttp\Client->sendAsync()
#13 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(608): GuzzleHttp\Client->send()
#14 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(621): League\OAuth2\Client\Provider\AbstractProvider->getResponse()
#15 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(537): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse()
#16 /config/www/organizr/api/functions/oauth.php(23): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken()
#17 /config/www/organizr/api/v2/routes/oauth.php(6): Organizr->traktOAuth()
#18 /config/www/organizr/api/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(43): {closure}()
#19 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/Route.php(384): Slim\Handlers\Strategies\RequestResponse->__invoke()
#20 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): Slim\Routing\Route->handle()
#21 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): Slim\MiddlewareDispatcher->handle()
#22 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/Route.php(341): Slim\MiddlewareDispatcher->handle()
#23 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/RouteRunner.php(84): Slim\Routing\Route->run()
#24 /config/www/organizr/api/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(59): Slim\Routing\RouteRunner->handle()
#25 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(147): Slim\Middleware\RoutingMiddleware->process()
#26 /config/www/organizr/api/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(107): class@anonymous->handle()
#27 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(147): Slim\Middleware\ErrorMiddleware->process()
#28 /config/www/organizr/api/v2/index.php(92): class@anonymous->handle()
#29 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(313): {closure}()
#30 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): class@anonymous->handle()
#31 /config/www/organizr/api/vendor/slim/slim/Slim/App.php(215): Slim\MiddlewareDispatcher->handle()
#32 /config/www/organizr/api/vendor/slim/slim/Slim/App.php(199): Slim\App->handle()
#33 /config/www/organizr/api/v2/index.php(151): Slim\App->run()
#34 {main}

StefanBerecz avatar Aug 01 '22 23:08 StefanBerecz

can you ping api.trakt.tv from inside the container?

causefx avatar Aug 02 '22 21:08 causefx

docker exec -ti organizr ping api.trakt.tv would be the right command I believe, right?

This gives me: ping: bad address 'api.trakt.tv'

StefanBerecz avatar Aug 02 '22 22:08 StefanBerecz

that is correct. seems you have a network issue somewhere.

Sent from my iPhone

On Aug 2, 2022, at 3:47 PM, ralothar @.***> wrote:

 docker exec -ti organizr ping api.trakt.tv would be the right command I believe, right?

This gives me: ping: bad address 'api.trakt.tv'

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

causefx avatar Aug 02 '22 22:08 causefx

Alright I guess then I will have to narrow it down. Since I can ping api.trakt.tv from windows command I guess it shouldn't be a router-firewall problem.

Does organizr need another open port apart of the regular one? Lets say I can access organizr through port 8285, would the connection to trakt-api need a different one?

StefanBerecz avatar Aug 02 '22 23:08 StefanBerecz

No you don’t need another port. I would suggest searching something along the lines of docker synology network issues.

Sent from my iPhone

On Aug 2, 2022, at 4:03 PM, ralothar @.***> wrote:

 Alright I guess then I will have to narrow it down. Since I can ping api.trakt.tv from windows command I guess it shouldn't be a router-firewall problem.

Does organizr need another open port apart of the regular one? Lets say I can access organizr through port 8285, would the connection to trakt-api need a different one?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

causefx avatar Aug 02 '22 23:08 causefx

I see. Well turning off the built in synology-firewall for testing purposes seemed to make it work. So I guess something is blocking that connection. I know it might be a far fetch but do you have an idea what it might be? I've enabled forwarding all connections as well as allowing all protocols on organizrs port and still no luck

StefanBerecz avatar Aug 02 '22 23:08 StefanBerecz

So as it turns out the way the Synologys Firewall is different to what I am used to. I had to manually allow the subnet, the container bridge was bound to, to bypass the firewall. Now I can ping api.trakt.tv through terminal command

--- api.trakt.tv ping statistics ---
25 packets transmitted, 25 packets received, 0% packet loss
round-trip min/avg/max = 6.709/7.858/10.953 ms

Unfortunatley I still get this error when trying to connect to Trakt:


Slim Application Error

The application could not run because of the following error:
Details
Type: GuzzleHttp\Exception\RequestException
Code: 0
Message: cURL error 77: error setting certificate verify locations: CAfile: /config/www/organizr/api/functions/cert/cacert.pem CApath: none (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.trakt.tv/oauth/token
File: /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
Line: 211
Trace

#0 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(158): GuzzleHttp\Handler\CurlFactory::createRejection()
#1 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(110): GuzzleHttp\Handler\CurlFactory::finishError()
#2 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php(47): GuzzleHttp\Handler\CurlFactory::finish()
#3 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(28): GuzzleHttp\Handler\CurlHandler->__invoke()
#4 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php(48): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#5 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(64): GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}()
#6 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Middleware.php(31): GuzzleHttp\PrepareBodyMiddleware->__invoke()
#7 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(71): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#8 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Middleware.php(63): GuzzleHttp\RedirectMiddleware->__invoke()
#9 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/HandlerStack.php(75): GuzzleHttp\Middleware::GuzzleHttp\{closure}()
#10 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(331): GuzzleHttp\HandlerStack->__invoke()
#11 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(107): GuzzleHttp\Client->transfer()
#12 /config/www/organizr/api/vendor/guzzlehttp/guzzle/src/Client.php(123): GuzzleHttp\Client->sendAsync()
#13 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(608): GuzzleHttp\Client->send()
#14 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(621): League\OAuth2\Client\Provider\AbstractProvider->getResponse()
#15 /config/www/organizr/api/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(537): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse()
#16 /config/www/organizr/api/functions/oauth.php(23): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken()
#17 /config/www/organizr/api/v2/routes/oauth.php(6): Organizr->traktOAuth()
#18 /config/www/organizr/api/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(43): {closure}()
#19 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/Route.php(384): Slim\Handlers\Strategies\RequestResponse->__invoke()
#20 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): Slim\Routing\Route->handle()
#21 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): Slim\MiddlewareDispatcher->handle()
#22 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/Route.php(341): Slim\MiddlewareDispatcher->handle()
#23 /config/www/organizr/api/vendor/slim/slim/Slim/Routing/RouteRunner.php(84): Slim\Routing\Route->run()
#24 /config/www/organizr/api/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(59): Slim\Routing\RouteRunner->handle()
#25 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(147): Slim\Middleware\RoutingMiddleware->process()
#26 /config/www/organizr/api/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(107): class@anonymous->handle()
#27 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(147): Slim\Middleware\ErrorMiddleware->process()
#28 /config/www/organizr/api/v2/index.php(92): class@anonymous->handle()
#29 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(313): {closure}()
#30 /config/www/organizr/api/vendor/slim/slim/Slim/MiddlewareDispatcher.php(81): class@anonymous->handle()
#31 /config/www/organizr/api/vendor/slim/slim/Slim/App.php(215): Slim\MiddlewareDispatcher->handle()
#32 /config/www/organizr/api/vendor/slim/slim/Slim/App.php(199): Slim\App->handle()
#33 /config/www/organizr/api/v2/index.php(151): Slim\App->run()
#34 {main}

[Go Back](https://dash.ralotharly.me/api/v2/oauth/trakt?code=1d627bc54ee8feedae016ad65de2a6d1920b3e110066b04cd4acecf011532c97&state=ecddd6a9d3bf2d8f3f2784c0fe6792fe#)

StefanBerecz avatar Aug 03 '22 00:08 StefanBerecz

try the latest dev release

causefx avatar Aug 17 '22 18:08 causefx

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

github-actions[bot] avatar Sep 02 '22 04:09 github-actions[bot]