open-webui / open-webui

User-friendly WebUI for LLMs (Formerly Ollama WebUI)
https://openwebui.com
MIT License
30.16k stars 3.27k forks source link

Google OAuth authentication fails #3552

Open m8i-51 opened 4 days ago

m8i-51 commented 4 days ago

Bug Report

Description

Bug Summary: I have set up OAuth using Google Auth. When I check the Open webUI admin console, the account is created, but the login user is being redirected and the process fails.

Environment

Reproduction Details

Confirmation:

Logs and Screenshots

Browser Console Logs: Internal Server Error

Docker Container Logs:

2024-07-01 00:20:34     response.set_cookie(
2024-07-01 00:20:34   File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 128, in set_cookie
2024-07-01 00:20:34     self.raw_headers.append((b"set-cookie", cookie_val.encode("latin-1")))
2024-07-01 00:20:34                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 00:20:34 UnicodeEncodeError: 'latin-1' codec can't encode characters in position 2068-2071: ordinal not in range(256)

Additional Information

- ENABLE_OAUTH_SIGNUP=true
- GOOGLE_CLIENT_ID=****apps.googleusercontent.com
- GOOGLE_CLIENT_SECRET=***

I have set the redirect URL for Google Cloud as follows. http://localhost:3000/oauth/google/callback

Note

It seems that there is a character encoding error because Japanese text is assigned to 'name', 'given_name', and 'family_name' in the following JSON. I have confirmed that when using English characters for the keys in the aforementioned JSON, the redirection succeeds.

This is my first time creating an issue for an OSS. Please let me know if there are any points to improve.

INFO:main:{
    'access_token': '*****.*****-*****', 
    'expires_in': 3599, 
    'scope': 'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid', 
    'token_type': 'Bearer', 
    'id_token': '*****.*****-*****-*****.*****-*****-*****-*****', 
    'expires_at': 1719606576, 
    'userinfo': {
        'iss': 'https://accounts.google.com', 
        'azp': '*****-*****.apps.googleusercontent.com', 
        'aud': '*****-*****.apps.googleusercontent.com', 
        'sub': '*****', 
        'hd': 'examplecorp.co.jp', 
        'email': '*****@examplecorp.co.jp', 
        'email_verified': True, 
        'at_hash': '*****', 
        'nonce': '*****', 
        'name': 'もりこ(部門)', 
        'picture': 'https://lh3.googleusercontent.com/a/*****=s96-c', 
        'given_name': 'こ(部門)', 
        'family_name': 'もり', 
        'iat': 1719602977, 
        'exp': 1719606577
        }
    }
}
cheahjs commented 4 days ago

Hey, do you have a bit more of the exception stack trace from the error message? Trying to figure out which cookie is problematic here.

m8i-51 commented 3 days ago

@cheahjs Thank you for confirming. I have to apologize for one mistake. The version is v0.3.6. Here is the error message:

2024-07-01 23:34:04 ERROR:    Exception in ASGI application
2024-07-01 23:34:04   + Exception Group Traceback (most recent call last):
2024-07-01 23:34:04   |   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 87, in collapse_excgroups
2024-07-01 23:34:04   |     yield
2024-07-01 23:34:04   |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__
2024-07-01 23:34:04   |     async with anyio.create_task_group() as task_group:
2024-07-01 23:34:04   |   File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 680, in __aexit__
2024-07-01 23:34:04   |     raise BaseExceptionGroup(
2024-07-01 23:34:04   | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
2024-07-01 23:34:04   +-+---------------- 1 ----------------
2024-07-01 23:34:04     | Traceback (most recent call last):
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
2024-07-01 23:34:04     |     result = await app(  # type: ignore[func-returns-value]
2024-07-01 23:34:04     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
2024-07-01 23:34:04     |     return await self.app(scope, receive, send)
2024-07-01 23:34:04     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
2024-07-01 23:34:04     |     await super().__call__(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
2024-07-01 23:34:04     |     await self.middleware_stack(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
2024-07-01 23:34:04     |     await self.app(scope, receive, _send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in __call__
2024-07-01 23:34:04     |     await self.app(scope, receive, send_wrapper)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     |     with collapse_excgroups():
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     |     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     |     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/app/backend/main.py", line 804, in update_embedding_function
2024-07-01 23:34:04     |     response = await call_next(request)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     |     raise app_exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     |     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     |     with collapse_excgroups():
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     |     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     |     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/app/backend/main.py", line 795, in check_url
2024-07-01 23:34:04     |     response = await call_next(request)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     |     raise app_exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     |     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
2024-07-01 23:34:04     |     await self.app(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     |     with collapse_excgroups():
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     |     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     |     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/app/backend/main.py", line 768, in dispatch
2024-07-01 23:34:04     |     response = await call_next(request)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     |     raise app_exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     |     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     |     with collapse_excgroups():
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     |     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     |     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/app/backend/main.py", line 624, in dispatch
2024-07-01 23:34:04     |     response = await call_next(request)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     |     raise app_exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     |     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
2024-07-01 23:34:04     |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
2024-07-01 23:34:04     |     await app(scope, receive, sender)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
2024-07-01 23:34:04     |     await self.middleware_stack(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
2024-07-01 23:34:04     |     await route.handle(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
2024-07-01 23:34:04     |     await self.app(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
2024-07-01 23:34:04     |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
2024-07-01 23:34:04     |     raise exc
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
2024-07-01 23:34:04     |     await app(scope, receive, sender)
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
2024-07-01 23:34:04     |     response = await func(request)
2024-07-01 23:34:04     |                ^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
2024-07-01 23:34:04     |     raw_response = await run_endpoint_function(
2024-07-01 23:34:04     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
2024-07-01 23:34:04     |     return await dependant.call(**values)
2024-07-01 23:34:04     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     |   File "/app/backend/main.py", line 1979, in oauth_callback
2024-07-01 23:34:04     |     response.set_cookie(
2024-07-01 23:34:04     |   File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 128, in set_cookie
2024-07-01 23:34:04     |     self.raw_headers.append((b"set-cookie", cookie_val.encode("latin-1")))
2024-07-01 23:34:04     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04     | UnicodeEncodeError: 'latin-1' codec can't encode characters in position 2068-2071: ordinal not in range(256)
2024-07-01 23:34:04     +------------------------------------
2024-07-01 23:34:04 
2024-07-01 23:34:04 During handling of the above exception, another exception occurred:
2024-07-01 23:34:04 
2024-07-01 23:34:04 Traceback (most recent call last):
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
2024-07-01 23:34:04     result = await app(  # type: ignore[func-returns-value]
2024-07-01 23:34:04              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
2024-07-01 23:34:04     return await self.app(scope, receive, send)
2024-07-01 23:34:04            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
2024-07-01 23:34:04     await super().__call__(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
2024-07-01 23:34:04     await self.middleware_stack(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
2024-07-01 23:34:04     await self.app(scope, receive, _send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in __call__
2024-07-01 23:34:04     await self.app(scope, receive, send_wrapper)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     with collapse_excgroups():
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/app/backend/main.py", line 804, in update_embedding_function
2024-07-01 23:34:04     response = await call_next(request)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     raise app_exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     with collapse_excgroups():
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/app/backend/main.py", line 795, in check_url
2024-07-01 23:34:04     response = await call_next(request)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     raise app_exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
2024-07-01 23:34:04     await self.app(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     with collapse_excgroups():
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/app/backend/main.py", line 768, in dispatch
2024-07-01 23:34:04     response = await call_next(request)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     raise app_exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
2024-07-01 23:34:04     with collapse_excgroups():
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
2024-07-01 23:34:04     self.gen.throw(typ, value, traceback)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
2024-07-01 23:34:04     response = await self.dispatch_func(request, call_next)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/app/backend/main.py", line 624, in dispatch
2024-07-01 23:34:04     response = await call_next(request)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
2024-07-01 23:34:04     raise app_exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
2024-07-01 23:34:04     await self.app(scope, receive_or_disconnect, send_no_error)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
2024-07-01 23:34:04     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
2024-07-01 23:34:04     await app(scope, receive, sender)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
2024-07-01 23:34:04     await self.middleware_stack(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
2024-07-01 23:34:04     await route.handle(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
2024-07-01 23:34:04     await self.app(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
2024-07-01 23:34:04     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
2024-07-01 23:34:04     raise exc
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
2024-07-01 23:34:04     await app(scope, receive, sender)
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
2024-07-01 23:34:04     response = await func(request)
2024-07-01 23:34:04                ^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
2024-07-01 23:34:04     raw_response = await run_endpoint_function(
2024-07-01 23:34:04                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
2024-07-01 23:34:04     return await dependant.call(**values)
2024-07-01 23:34:04            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04   File "/app/backend/main.py", line 1979, in oauth_callback
2024-07-01 23:34:04     response.set_cookie(
2024-07-01 23:34:04   File "/usr/local/lib/python3.11/site-packages/starlette/responses.py", line 128, in set_cookie
2024-07-01 23:34:04     self.raw_headers.append((b"set-cookie", cookie_val.encode("latin-1")))
2024-07-01 23:34:04                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-07-01 23:34:04 UnicodeEncodeError: 'latin-1' codec can't encode characters in position 2068-2071: ordinal not in range(256)