Hi,

I have an issue to get the new webserver auth working. My use case is a little 
bit more complex but I tried to break it down
so that can be easily debugged from your side:

I just start the dpage/pgadmin4 as docker image, with a changed authsource. See:

docker run -p 4444:80 \
    -e 'PGADMIN_DEFAULT_EMAIL=u...@domain.com' \
    -e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \
    -e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' \
    -e 'PGADMIN_CONFIG_AUTHENTICATION_SOURCES=["webserver"]' \
    dpage/pgadmin4


Now I try to make an request with my local chrome and an installed header 
extension so that I can manipulate the request headers.
I'm injecting the header: REMOTE_USER=t...@hallo.de

I get multiple redirects until the browser stop the loop.

**** LOG ************

2021-11-10 08:08:22,043: DEBUG  pgadmin:        Authentication initiated via 
source: webserver
::ffff:172.17.0.1 - - [10/Nov/2021:08:08:22 +0000] "GET / HTTP/1.1" 302 209 "-" 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, 
like Gecko) Chrome/95.0.4638.69 Safari/537.36"
2021-11-10 08:08:22,052: DEBUG  pgadmin:        Authentication initiated via 
source: webserver
::ffff:172.17.0.1 - - [10/Nov/2021:08:08:22 +0000] "GET / HTTP/1.1" 302 209 "-" 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, 
like Gecko) Chrome/95.0.4638.69 Safari/537.36"

**** HAR ** one request

      {
        "_initiator": {
          "type": "other"
        },
        "_priority": "VeryHigh",
        "_resourceType": "document",
        "cache": {},
        "connection": "318993",
        "request": {
          "method": "GET",
          "url": "http://localhost:4444/";,
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Host",
              "value": "localhost:4444"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Pragma",
              "value": "no-cache"
            },
            {
              "name": "Cache-Control",
              "value": "no-cache"
            },
            {
              "name": "sec-ch-ua",
              "value": "\"Google Chrome\";v=\"95\", \"Chromium\";v=\"95\", 
\";Not A Brand\";v=\"99\""
            },
            {
              "name": "sec-ch-ua-mobile",
              "value": "?0"
            },
            {
              "name": "sec-ch-ua-platform",
              "value": "\"macOS\""
            },
            {
              "name": "Upgrade-Insecure-Requests",
              "value": "1"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"
            },
            {
              "name": "Accept",
              "value": 
"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
            },
            {
              "name": "Sec-Fetch-Site",
              "value": "none"
            },
            {
              "name": "Sec-Fetch-Mode",
              "value": "navigate"
            },
            {
              "name": "Sec-Fetch-User",
              "value": "?1"
            },
            {
              "name": "Sec-Fetch-Dest",
              "value": "document"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate, br"
            },
            {
              "name": "Accept-Language",
              "value": "en-US,en;q=0.9,de-DE;q=0.8,de;q=0.7"
            },
            {
              "name": "Cookie",
              "value": "_ga=GA1.1.1548965094.1632077396; 
_pk_id.1.1fff=b2a39c0044a229f7.1632078586.; 
pga4_session=687afec6-df83-432e-9aae-c58c8a0aebb7!5IvAru1Bi1Entgxt96vVwrZqVQw="
            },
            {
              "name": "remote_user",
              "value": "t...@hallo.de"
            }
          ],
          "queryString": [],
          "cookies": [
            {
              "name": "_ga",
              "value": "GA1.1.1548965094.1632077396",
              "path": "/",
              "domain": "localhost",
              "expires": "2023-09-19T18:58:45.000Z",
              "httpOnly": false,
              "secure": false
            },
            {
              "name": "_pk_id.1.1fff",
              "value": "b2a39c0044a229f7.1632078586.",
              "path": "/",
              "domain": "localhost",
              "expires": "2022-10-17T19:09:46.000Z",
              "httpOnly": false,
              "secure": false,
              "sameSite": "Lax"
            },
            {
              "name": "pga4_session",
              "value": 
"687afec6-df83-432e-9aae-c58c8a0aebb7!5IvAru1Bi1Entgxt96vVwrZqVQw=",
              "path": "/",
              "domain": "localhost",
              "expires": "2021-11-11T08:09:52.877Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "Lax"
            }
          ],
          "headersSize": 919,
          "bodySize": 0
        },
        "response": {
          "status": 302,
          "statusText": "FOUND",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Server",
              "value": "gunicorn"
            },
            {
              "name": "Date",
              "value": "Wed, 10 Nov 2021 08:10:42 GMT"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Content-Type",
              "value": "text/html; charset=utf-8"
            },
            {
              "name": "Content-Length",
              "value": "209"
            },
            {
              "name": "Location",
              "value": "http://localhost:4444/";
            },
            {
              "name": "X-Frame-Options",
              "value": "SAMEORIGIN"
            },
            {
              "name": "Content-Security-Policy",
              "value": "default-src ws: http: data: blob: 'unsafe-inline' 
'unsafe-eval';"
            },
            {
              "name": "X-Content-Type-Options",
              "value": "nosniff"
            },
            {
              "name": "X-XSS-Protection",
              "value": "1; mode=block"
            },
            {
              "name": "Set-Cookie",
              "value": 
"pga4_session=687afec6-df83-432e-9aae-c58c8a0aebb7!5IvAru1Bi1Entgxt96vVwrZqVQw=;
 Expires=Thu, 11-Nov-2021 08:10:42 GMT; HttpOnly; Path=/; SameSite=Lax"
            }
          ],
          "cookies": [
            {
              "name": "pga4_session",
              "value": 
"687afec6-df83-432e-9aae-c58c8a0aebb7!5IvAru1Bi1Entgxt96vVwrZqVQw=",
              "path": "/",
              "domain": "localhost",
              "expires": "2021-11-11T08:10:42.000Z",
              "httpOnly": true,
              "secure": false,
              "sameSite": "Lax"
            }
          ],
          "content": {
            "size": 0,
            "mimeType": "text/html",
            "compression": 0
          },
          "redirectURL": "http://localhost:4444/";,
          "headersSize": 545,
          "bodySize": 0,
          "_transferSize": 545,
          "_error": null
        },
        "serverIPAddress": "[::1]",
        "startedDateTime": "2021-11-10T08:10:42.677Z",
        "time": 25.62499999839929,
        "timings": {
          "blocked": 8.999999998515705,
          "dns": -1,
          "ssl": -1,
          "connect": -1,
          "send": 0.125,
          "wait": 14.750000000436557,
          "receive": 1.7499999994470272,
          "_blocked_queueing": 3.8749999985157046
        }
      },

bye
Konrad

Reply via email to