Originally created by @gorootde on GitHub (Aug 16, 2024).
Bug Report
Installation Method
Docker
Environment
Open WebUI Version: 0.3.13
Ollama (if applicable): NA
Operating System: Ubuntu
Browser (if applicable): Safari & Firefox latest
Confirmation:
I have read and followed all the instructions provided in the README.md.
I am on the latest version of both Open WebUI and Ollama.
I have included the browser console logs.
I have included the Docker container logs.
I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.
Expected Behavior:
After a click on the OIDC provider button in the login form, I am logged in to OpenWebUI
Actual Behavior:
Click on the OIDC login button in login form
Redirect to identity provider. Entered credentials there. Auth successful
Redirect back to OpenWebUI /oauth/oidc/login
Internal Server Error 500
Description
Bug Summary:
OIDC login broke in version 0.3.13 while in 0.3.12 it was still working.
Reproduction Details
Steps to Reproduce:
See "Actual Behaviour"
Logs and Screenshots
Browser Console Logs:
All good here
Docker Container Logs:
open-webui-1 | INFO: 192.168.168.11:0 - "GET /oauth/oidc/login HTTP/1.1" 500 Internal Server Error
open-webui-1 | ERROR: Exception in ASGI application
open-webui-1 | Traceback (most recent call last):
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions
open-webui-1 | yield
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 373, in handle_async_request
open-webui-1 | resp = await self._pool.handle_async_request(req)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request
open-webui-1 | raise exc from None
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 196, in handle_async_request
open-webui-1 | response = await connection.handle_async_request(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request
open-webui-1 | return await self._connection.handle_async_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 143, in handle_async_request
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 113, in handle_async_request
open-webui-1 | ) = await self._receive_response_headers(**kwargs)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 186, in _receive_response_headers
open-webui-1 | event = await self._receive_event(timeout=timeout)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 224, in _receive_event
open-webui-1 | data = await self._network_stream.read(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 32, in read
open-webui-1 | with map_exceptions(exc_map):
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
open-webui-1 | raise to_exc(exc) from exc
open-webui-1 | httpcore.ReadTimeout
open-webui-1 |
open-webui-1 | The above exception was the direct cause of the following exception:
open-webui-1 |
open-webui-1 | Traceback (most recent call last):
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
open-webui-1 | result = await app( # type: ignore[func-returns-value]
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
open-webui-1 | return await self.app(scope, receive, send)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
open-webui-1 | await super().__call__(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
open-webui-1 | await self.middleware_stack(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
open-webui-1 | await self.app(scope, receive, _send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in __call__
open-webui-1 | await self.app(scope, receive, send_wrapper)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 903, in update_embedding_function
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 894, in check_url
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 880, in commit_session_after_request
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
open-webui-1 | await self.app(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 859, in dispatch
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 726, in dispatch
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
open-webui-1 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui-1 | await app(scope, receive, sender)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
open-webui-1 | await self.middleware_stack(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
open-webui-1 | await route.handle(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
open-webui-1 | await self.app(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
open-webui-1 | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui-1 | await app(scope, receive, sender)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
open-webui-1 | response = await func(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
open-webui-1 | raw_response = await run_endpoint_function(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
open-webui-1 | return await dependant.call(**values)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 2135, in oauth_login
open-webui-1 | return await oauth.create_client(provider).authorize_redirect(request, redirect_uri)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/starlette_client/apps.py", line 34, in authorize_redirect
open-webui-1 | rv = await self.create_authorization_url(redirect_uri, **kwargs)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/base_client/async_app.py", line 95, in create_authorization_url
open-webui-1 | metadata = await self.load_server_metadata()
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/base_client/async_app.py", line 76, in load_server_metadata
open-webui-1 | resp = await client.request('GET', self._server_metadata_url, withhold_token=True)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 90, in request
open-webui-1 | return await super().request(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1574, in request
open-webui-1 | return await self.send(request, auth=auth, follow_redirects=follow_redirects)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1661, in send
open-webui-1 | response = await self._send_handling_auth(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
open-webui-1 | response = await self._send_handling_redirects(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
open-webui-1 | response = await self._send_single_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1763, in _send_single_request
open-webui-1 | response = await transport.handle_async_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
open-webui-1 | with map_httpcore_exceptions():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
open-webui-1 | raise mapped_exc(message) from exc
open-webui-1 | httpx.ReadTimeout
open-webui-1 | INFO: connection closed
Screenshots/Screen Recordings (if applicable):
Additional Information
I am using latest Authelia version as OIDC provider
Note
If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!
Originally created by @gorootde on GitHub (Aug 16, 2024).
# Bug Report
## Installation Method
Docker
## Environment
- **Open WebUI Version:** 0.3.13
- **Ollama (if applicable):** NA
- **Operating System:** Ubuntu
- **Browser (if applicable):** Safari & Firefox latest
**Confirmation:**
- [x] I have read and followed all the instructions provided in the README.md.
- [x] I am on the latest version of both Open WebUI and Ollama.
- [x] I have included the browser console logs.
- [x] I have included the Docker container logs.
- [x] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.
## Expected Behavior:
After a click on the OIDC provider button in the login form, I am logged in to OpenWebUI
## Actual Behavior:
1. Click on the OIDC login button in login form
2. Redirect to identity provider. Entered credentials there. Auth successful
3. Redirect back to OpenWebUI `/oauth/oidc/login`
4. Internal Server Error 500
## Description
**Bug Summary:**
OIDC login broke in version 0.3.13 while in 0.3.12 it was still working.
## Reproduction Details
**Steps to Reproduce:**
See "Actual Behaviour"
## Logs and Screenshots
**Browser Console Logs:**
All good here
**Docker Container Logs:**
```
open-webui-1 | INFO: 192.168.168.11:0 - "GET /oauth/oidc/login HTTP/1.1" 500 Internal Server Error
open-webui-1 | ERROR: Exception in ASGI application
open-webui-1 | Traceback (most recent call last):
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 69, in map_httpcore_exceptions
open-webui-1 | yield
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 373, in handle_async_request
open-webui-1 | resp = await self._pool.handle_async_request(req)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 216, in handle_async_request
open-webui-1 | raise exc from None
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection_pool.py", line 196, in handle_async_request
open-webui-1 | response = await connection.handle_async_request(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/connection.py", line 101, in handle_async_request
open-webui-1 | return await self._connection.handle_async_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 143, in handle_async_request
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 113, in handle_async_request
open-webui-1 | ) = await self._receive_response_headers(**kwargs)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 186, in _receive_response_headers
open-webui-1 | event = await self._receive_event(timeout=timeout)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_async/http11.py", line 224, in _receive_event
open-webui-1 | data = await self._network_stream.read(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_backends/anyio.py", line 32, in read
open-webui-1 | with map_exceptions(exc_map):
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
open-webui-1 | raise to_exc(exc) from exc
open-webui-1 | httpcore.ReadTimeout
open-webui-1 |
open-webui-1 | The above exception was the direct cause of the following exception:
open-webui-1 |
open-webui-1 | Traceback (most recent call last):
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
open-webui-1 | result = await app( # type: ignore[func-returns-value]
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
open-webui-1 | return await self.app(scope, receive, send)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
open-webui-1 | await super().__call__(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
open-webui-1 | await self.middleware_stack(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
open-webui-1 | await self.app(scope, receive, _send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/sessions.py", line 85, in __call__
open-webui-1 | await self.app(scope, receive, send_wrapper)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 903, in update_embedding_function
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 894, in check_url
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 880, in commit_session_after_request
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
open-webui-1 | await self.app(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 859, in dispatch
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__
open-webui-1 | with collapse_excgroups():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
open-webui-1 | response = await self.dispatch_func(request, call_next)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 726, in dispatch
open-webui-1 | response = await call_next(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next
open-webui-1 | raise app_exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro
open-webui-1 | await self.app(scope, receive_or_disconnect, send_no_error)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
open-webui-1 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui-1 | await app(scope, receive, sender)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
open-webui-1 | await self.middleware_stack(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
open-webui-1 | await route.handle(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
open-webui-1 | await self.app(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
open-webui-1 | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
open-webui-1 | raise exc
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
open-webui-1 | await app(scope, receive, sender)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 72, in app
open-webui-1 | response = await func(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
open-webui-1 | raw_response = await run_endpoint_function(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
open-webui-1 | return await dependant.call(**values)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/app/backend/main.py", line 2135, in oauth_login
open-webui-1 | return await oauth.create_client(provider).authorize_redirect(request, redirect_uri)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/starlette_client/apps.py", line 34, in authorize_redirect
open-webui-1 | rv = await self.create_authorization_url(redirect_uri, **kwargs)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/base_client/async_app.py", line 95, in create_authorization_url
open-webui-1 | metadata = await self.load_server_metadata()
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/base_client/async_app.py", line 76, in load_server_metadata
open-webui-1 | resp = await client.request('GET', self._server_metadata_url, withhold_token=True)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/authlib/integrations/httpx_client/oauth2_client.py", line 90, in request
open-webui-1 | return await super().request(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1574, in request
open-webui-1 | return await self.send(request, auth=auth, follow_redirects=follow_redirects)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1661, in send
open-webui-1 | response = await self._send_handling_auth(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1689, in _send_handling_auth
open-webui-1 | response = await self._send_handling_redirects(
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1726, in _send_handling_redirects
open-webui-1 | response = await self._send_single_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_client.py", line 1763, in _send_single_request
open-webui-1 | response = await transport.handle_async_request(request)
open-webui-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 372, in handle_async_request
open-webui-1 | with map_httpcore_exceptions():
open-webui-1 | File "/usr/local/lib/python3.11/contextlib.py", line 158, in __exit__
open-webui-1 | self.gen.throw(typ, value, traceback)
open-webui-1 | File "/usr/local/lib/python3.11/site-packages/httpx/_transports/default.py", line 86, in map_httpcore_exceptions
open-webui-1 | raise mapped_exc(message) from exc
open-webui-1 | httpx.ReadTimeout
open-webui-1 | INFO: connection closed
```
**Screenshots/Screen Recordings (if applicable):**
-
## Additional Information
I am using latest Authelia version as OIDC provider
## Note
If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @gorootde on GitHub (Aug 16, 2024).
Bug Report
Installation Method
Docker
Environment
Open WebUI Version: 0.3.13
Ollama (if applicable): NA
Operating System: Ubuntu
Browser (if applicable): Safari & Firefox latest
Confirmation:
Expected Behavior:
After a click on the OIDC provider button in the login form, I am logged in to OpenWebUI
Actual Behavior:
/oauth/oidc/loginDescription
Bug Summary:
OIDC login broke in version 0.3.13 while in 0.3.12 it was still working.
Reproduction Details
Steps to Reproduce:
See "Actual Behaviour"
Logs and Screenshots
Browser Console Logs:
All good here
Docker Container Logs:
Screenshots/Screen Recordings (if applicable):
Additional Information
I am using latest Authelia version as OIDC provider
Note
If the bug report is incomplete or does not follow the provided instructions, it may not be addressed. Please ensure that you have followed the steps outlined in the README.md and troubleshooting.md documents, and provide all necessary information for us to reproduce and address the issue. Thank you!