# Google SSO Timeout on Pritunl – Stuck on “Continue” Page and Returns 500 Error

**URL:** <https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478>\
**Category:** Pritunl VPN\
**Tags:** pritunl\
**Created:** [August 8, 2025, 9:33am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478 "2025-08-08T09:33:05Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![raghav](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@raghav](https://forum.pritunl.com/u/raghav)\
**Post date:** [August 8, 2025, 9:33am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/1 "2025-08-08T09:33:05Z")

</div>

Hi,

We are facing an issue with **Google SSO authentication** in Pritunl.  
When a user tries to log in via Google, the process gets stuck on the Google “Continue” page for a while, and then Pritunl returns a **500 Internal Server Error**.

From the logs, it appears the failure happens when Pritunl calls the Google Admin SDK to fetch user or group details. The request hangs for some time and then fails with a **`socket.timeout`** during the HTTPS request.

This happens consistently and seems to be caused by network communication issues between the Pritunl server and Google APIs. The errors occur during both `service.users().get()` and `service.groups().list()` calls.

**What we noticed:**

- The request stalls before eventually timing out.

- The problem repeats for both user and group verification steps.

- This ultimately causes `/sso/callback` to return a 500 error.

> We will paste the relevant log snippets below for reference.
> 
> [summer-plains-2966][2025-08-08 14:43:28,550][ERROR] Google auth check errorTraceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/user/user.py”, line 405, in sso\_auth\_checkvalid, google\_groups = sso.verify\_google(self.email)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_googledata = service.users().get(userKey=user\_email).execute()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed outuser\_id = “685bea9351e4abc0d57518da”user\_name = “simant.saurav@teachmint.com”[summer-plains-2966][2025-08-08 14:43:46,632][INFO] Authenticating useruser\_name = “simant.saurav@teachmint.com”factors = [“google”][summer-plains-2966][2025-08-08 14:44:12,267][ERROR] Google auth check errorTraceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/user/user.py”, line 405, in sso\_auth\_checkvalid, google\_groups = sso.verify\_google(self.email)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 43, in verify\_googleresults = service.groups().list(userKey=user\_email,File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed outuser\_id = “685bea9351e4abc0d57518da”user\_name = “test@test.com”[summer-plains-2966][2025-08-08 14:44:29,772][INFO] Authenticating useruser\_name = “test@test.com”factors = [“google”][summer-plains-2966][2025-08-08 14:44:48,272][ERROR] Google auth check errorTraceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/user/user.py”, line 405, in sso\_auth\_checkvalid, google\_groups = sso.verify\_google(self.email)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_googledata = service.users().get(userKey=user\_email).execute()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed outuser\_id = “685bea9asdf351e4abc0d57518da”user\_name = “test@test.com”[summer-plains-2966][2025-08-08 14:45:13,119][INFO] Authenticating useruser\_name = “test@test.com”factors = [“google”][summer-plains-2966][2025-08-08 14:45:31,476][ERROR] Google auth check errorTraceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/user/user.py”, line 405, in sso\_auth\_checkvalid, google\_groups = sso.verify\_google(self.email)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_googledata = service.users().get(userKey=user\_email).execute()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed outuser\_id = “685beaasdfa9351e4abc0d57518da”user\_name = “test@test.com”factors = [“google”][summer-plains-2966][2025-08-08 14:46:14,651][ERROR] Google auth check errorTraceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/user/user.py”, line 405, in sso\_auth\_checkvalid, google\_groups = sso.verify\_google(self.email)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_googledata = service.users().get(userKey=user\_email).execute()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed outuser\_id = “685asdfbea9351asdfae4abc0d57518da”user\_name = “test@teactewsa.com”factors = [“google”][summer-plains-2966][2025-08-08 14:46:28,224][ERROR] Exception on /sso/callback [GET]Traceback (most recent call last):File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 2190, in wsgi\_appresponse = self.full\_dispatch\_request()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1486, in full\_dispatch\_requestrv = self.handle\_user\_exception(e)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1484, in full\_dispatch\_requestrv = self.dispatch\_request()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1469, in dispatch\_requestreturn self.ensure\_sync(self.view\_functions[rule.endpoint])(\*\*view\_args)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/auth/app.py”, line 26, in \_wrappedreturn call(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/handlers/sso.py”, line 664, in sso\_callback\_getvalid, google\_groups = sso.verify\_google(username)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_googledata = service.users().get(userKey=user\_email).execute()File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapperreturn wrapped(\*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in executeresp, content = \_retry\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_requestraise exceptionFile “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_requestresp, content = http.request(uri, method, \*args, \*\*kwargs)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in requestresponse, content = self.http.request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1720, in request(response, content) = self.\_request(File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1440, in \_request(response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/init.py”, line 1392, in \_conn\_requestresponse = conn.getresponse()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponseresponse.begin()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in beginversion, status, reason = self.\_read\_status()File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_statusline = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readintoreturn self.\_sock.recv\_into(b)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_intoreturn self.read(nbytes, buffer)File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in readreturn self.\_sslobj.read(len, buffer)socket.timeout: The read operation timed out

```auto

```

---

<div class="post-metadata">

**Author:** ![witoon](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/w/e79b87/32.png) [@witoon](https://forum.pritunl.com/u/witoon)\
**Post date:** [August 8, 2025, 9:47am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/2 "2025-08-08T09:47:11Z")

</div>

I’ve the very same issue and I can see error spiked up on google cloud console

 ![Screenshot 2568-08-08 at 16.28.17](https://forum-static.pritunl.com/original/2X/4/4a52096ca40a1a3d547edc32f7e3d79be3b119c8.png)

---

<div class="post-metadata">

**Author:** ![defigor](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/d/ac8455/32.png) [@defigor](https://forum.pritunl.com/u/defigor)\
**Post date:** [August 8, 2025, 10:01am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/3 "2025-08-08T10:01:26Z")

</div>

We experience the same issue too:

> [2025-08-08 09:24:11,578][ERROR] Exception on /key/callback [GET]  
> Traceback (most recent call last):  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 2190, in wsgi\_app  
> response = self.full\_dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1486, in full\_dispatch\_request  
> rv = self.handle\_user\_exception(e)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1484, in full\_dispatch\_request  
> rv = self.dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1469, in dispatch\_request  
> return self.ensure\_sync(self.view\_functions[rule.endpoint])(\*\*view\_args)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/auth/app.py”, line 26, in \_wrapped  
> return call(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/handlers/key.py”, line 2563, in key\_callback\_get  
> valid, google\_groups = sso.verify\_google(username)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_google  
> data = service.users().get(userKey=user\_email).execute()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapper  
> return wrapped(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 923, in execute  
> resp, content = \_retry\_request(  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 222, in \_retry\_request  
> raise exception  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 191, in \_retry\_request  
> resp, content = http.request(uri, method, \*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/google\_auth\_httplib2.py”, line 218, in request  
> response, content = self.http.request(  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/ **init**.py”, line 1720, in request  
> (response, content) = self.\_request(  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/ **init**.py”, line 1440, in \_request  
> (response, content) = self.\_conn\_request(conn, request\_uri, method, body, headers)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/httplib2/ **init**.py”, line 1392, in \_conn\_request  
> response = conn.getresponse()  
> File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 1377, in getresponse  
> response.begin()  
> File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 320, in begin  
> version, status, reason = self.\_read\_status()  
> File “/usr/lib/pritunl/usr/lib/python3.9/http/client.py”, line 281, in \_read\_status  
> line = str(self.fp.readline(\_MAXLINE + 1), “iso-8859-1”)  
> File “/usr/lib/pritunl/usr/lib/python3.9/socket.py”, line 716, in readinto  
> return self.\_sock.recv\_into(b)  
> File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1275, in recv\_into  
> return self.read(nbytes, buffer)  
> File “/usr/lib/pritunl/usr/lib/python3.9/ssl.py”, line 1133, in read  
> return self.\_sslobj.read(len, buffer)  
> socket.timeout: The read operation timed out

It seems that this was the start of the issue:

> [2025-08-07 06:47:42,961][ERROR] Exception on /key/callback [GET]  
> Traceback (most recent call last):  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 2190, in wsgi\_app  
> response = self.full\_dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1486, in full\_dispatch\_request  
> rv = self.handle\_user\_exception(e)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1484, in full\_dispatch\_request  
> rv = self.dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1469, in dispatch\_request  
> return self.ensure\_sync(self.view\_functions[rule.endpoint])(\*\*view\_args)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/auth/app.py”, line 26, in \_wrapped  
> return call(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/handlers/key.py”, line 2563, in key\_callback\_get  
> valid, google\_groups = sso.verify\_google(username)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_google  
> data = service.users().get(userKey=user\_email).execute()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapper  
> return wrapped(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 938, in execute  
> raise HttpError(resp, content, uri=self.uri)  
> googleapiclient.errors.HttpError: \<HttpError 503 when requesting [https://admin.googleapis.com/admin/directory/v1/users/nashran.nasir%40deferit.com?alt=json](https://admin.googleapis.com/admin/directory/v1/users/nashran.nasir%40deferit.com?alt=json) returned “Service unavailable. Please try again”. Details: “[{‘message’: ‘Service unavailable. Please try again’, ‘domain’: ‘global’, ‘reason’: ‘backendError’}]”\>  
> [2025-08-07 06:47:42,961][ERROR] Exception on /key/callback [GET]  
> Traceback (most recent call last):  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 2190, in wsgi\_app  
> response = self.full\_dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1486, in full\_dispatch\_request  
> rv = self.handle\_user\_exception(e)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1484, in full\_dispatch\_request  
> rv = self.dispatch\_request()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/flask/app.py”, line 1469, in dispatch\_request  
> return self.ensure\_sync(self.view\_functions[rule.endpoint])(\*\*view\_args)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/auth/app.py”, line 26, in \_wrapped  
> return call(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/handlers/key.py”, line 2563, in key\_callback\_get  
> valid, google\_groups = sso.verify\_google(username)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/pritunl/sso/google.py”, line 39, in verify\_google  
> data = service.users().get(userKey=user\_email).execute()  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/\_helpers.py”, line 130, in positional\_wrapper  
> return wrapped(\*args, \*\*kwargs)  
> File “/usr/lib/pritunl/usr/lib/python3.9/site-packages/googleapiclient/http.py”, line 938, in execute  
> raise HttpError(resp, content, uri=self.uri)  
> googleapiclient.errors.HttpError: \<HttpError 503 when requesting [https://admin.googleapis.com/admin/directory/v1/users/nashran.nasir%40deferit.com?alt=json](https://admin.googleapis.com/admin/directory/v1/users/nashran.nasir%40deferit.com?alt=json) returned “Service unavailable. Please try again”. Details: “[{‘message’: ‘Service unavailable. Please try again’, ‘domain’: ‘global’, ‘reason’: ‘backendError’}]”\>

and after these 503 errors we started to get these timeouts and the first one was at:

> [2025-08-07 21:17:38,340][ERROR] Exception on /key/callback [GET]

But it seems that yesterday it was not that bad, but in the last 1 hour, it happened twice and our team was not able to use pritunl for 10-20 minutes each time.

We use v1.32.4181.41 version.

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [August 8, 2025, 10:09am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/4 "2025-08-08T10:09:17Z")

</div>

There appears to be a network outage in the South Asia region affecting connectivity to the Google Workspace API. This is similar to an outage that occurred a few weeks ago in South Asia that impacted connectivity to the Pritunl subscription servers. These are regional issues with internet infrastructure in the South Asia region. I don’t have any further information on this, these appear to be related to government internet shutdowns occurring in the region that cause routing instability.

---

<div class="post-metadata">

**Author:** ![raghav](https://forum.pritunl.com/letter_avatar_proxy/v4/letter/r/54ee81/32.png) [@raghav](https://forum.pritunl.com/u/raghav)\
**Post date:** [August 8, 2025, 12:25pm UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/5 "2025-08-08T12:25:51Z")

</div>

Hi Zach,

Could you please tell from where did you checked the status of Google Workspace API.

is it from this source: [Google Workspace Status Dashboard](https://www.google.com/appsstatus/dashboard/)

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [August 8, 2025, 12:30pm UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/6 "2025-08-08T12:30:44Z")

</div>

I’m getting the information from email reports. It’s only the South Asia region and only Google Workspace API errors.

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [August 8, 2025, 10:05pm UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/7 "2025-08-08T22:05:01Z")

</div>

If the issue is intermittent run the command below. This will disable the hourly single sign-on check for connected users.

`sudo pritunl set app.sso_connection_check false`

---

<div class="post-metadata">

**Author:** ![deedoboys](https://forum.pritunl.com/user_avatar/forum.pritunl.com/deedoboys/32/1318_2.png) [@deedoboys](https://forum.pritunl.com/u/deedoboys)\
**Post date:** [August 9, 2025, 5:57am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/8 "2025-08-09T05:57:26Z")

</div>

Even issue affects in India

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [August 9, 2025, 6:01am UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/9 "2025-08-09T06:01:37Z")

</div>

This is possibly an issue with rate limiting although I’ve observed it even with 1 request every 10 seconds. There will be a server update in 6-12 hours that will remove the use of the Google Workspace API for the hourly connection checks and use only OAuth for that validation. This update will also limit the requests to 1 request every 2 seconds.

---

<div class="post-metadata">

**Author:** ![zach](https://forum.pritunl.com/user_avatar/forum.pritunl.com/zach/32/1105_2.png) [@zach](https://forum.pritunl.com/u/zach)\
**Post date:** [August 9, 2025, 11:21pm UTC](https://forum.pritunl.com/t/google-sso-timeout-on-pritunl-stuck-on-continue-page-and-returns-500-error/3478/10 "2025-08-09T23:21:23Z")

</div>

An update has been released Pritunl v1.32.4349.59 that will implement rate limiting and remove redundant usage of the Google Workspace API. This should fix issues with active connections dropping but new connection requests need the API validation. If the API issues continue it may take multiple connection attempts for a user to connect. If set commands were used to disable single sign-on checks temporarily, run the commands below after updating to revert the single sign-on skip options to the default values. These commands can be run even if no changes were made to verify the values have the correct default configuration.

```shell
sudo pritunl unset app.sso_connection_check
sudo pritunl unset user.skip_remote_sso_check

```
