[Help Request][dpage/pgadmin4] - Issue with docker image and SSO - OSError: Could not find a suitable TLS CA certificate bundle, invalid path: False

From: Antoine Dussarps <antoine(at)webcapsule(dot)io>
To: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: [Help Request][dpage/pgadmin4] - Issue with docker image and SSO - OSError: Could not find a suitable TLS CA certificate bundle, invalid path: False
Date: 2024-07-22 13:36:42
Message-ID: CAEq7qa3KN=YfAKgN+VU5gez_pKDidb66USDNeX85tthq=beNtw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello there,

I'm requesting help on an issue, that I believe is due to a really specific
configuration (or I missed setting up some variables).

Here is my current setup and the error message.

PgAdmin4 is launched through *Kubernetes* via *dpage/pgadmin4 Docker image*
and runs behind an *Apisix Reverse Proxy*.

It receives incoming traffic through *http* as Apisix manages the
encryption.

*The whole setup works well and we can connect through admin and db users
into PgAdmin4.*

However, I also set up an SSO connection via Keycloack; and if the first
redirect to the keycloak login works as expected; the second one to pgAdmin
ends up in an error:

* OSError: Could not find a suitable TLS CA certificate bundle,
invalid path: False*

If you could point me in the right direction I would appreciate it.

Best regards,
Antoine

ps: Here is the complete stack trace:

ERROR pgadmin: Could not find a suitable TLS CA certificate bundle,
invalid path: False
Traceback (most recent call last):
File "/venv/lib/python3.12/site-packages/flask/app.py", line 880, in
full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/flask/app.py", line 865, in
dispatch_request
return
self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type:
ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/pgadmin4/pgadmin/authenticate/oauth2.py", line 56, in
oauth_authorize
status, msg = auth_obj.login()
^^^^^^^^^^^^^^^^
File "/pgadmin4/pgadmin/authenticate/__init__.py", line 299, in login
status, msg = self.source.login(self.form)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/pgadmin4/pgadmin/authenticate/oauth2.py", line 136, in login
profile = self.get_user_profile()
^^^^^^^^^^^^^^^^^^^^^^^
File "/pgadmin4/pgadmin/authenticate/oauth2.py", line 211, in
get_user_profile
self.oauth2_current_client].authorize_access_token()
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/venv/lib/python3.12/site-packages/authlib/integrations/flask_client/apps.py",
line 101, in authorize_access_token
token = self.fetch_access_token(**params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/venv/lib/python3.12/site-packages/authlib/integrations/base_client/sync_app.py",
line 342, in fetch_access_token
token = client.fetch_token(token_endpoint, **params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/authlib/oauth2/client.py", line
211, in fetch_token
return self._fetch_token(
^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/authlib/oauth2/client.py", line
355, in _fetch_token
resp = self.session.post(
^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/requests/sessions.py", line 637,
in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/venv/lib/python3.12/site-packages/authlib/integrations/requests_client/oauth2_session.py",
line 109, in request
return super().request(
^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/requests/sessions.py", line 589,
in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/requests/sessions.py", line 703,
in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/venv/lib/python3.12/site-packages/requests/adapters.py", line 639,
in send
self.cert_verify(conn, request.url, verify, cert)
File "/venv/lib/python3.12/site-packages/requests/adapters.py", line 328,
in cert_verify
raise OSError(
OSError: Could not find a suitable TLS CA certificate bundle, invalid path:
False

Browse pgsql-admin by date

  From Date Subject
Next Message David G. Johnston 2024-07-22 13:49:53 Re: small temp files
Previous Message Paul Smith* 2024-07-22 13:34:09 Re: small temp files