mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-12 04:15:25 +00:00
Update MCP Oauth server metadata discovery order (#19244)
This commit is contained in:
parent
58cff5e482
commit
0ed174f6a1
1 changed files with 18 additions and 11 deletions
|
|
@ -238,23 +238,30 @@ def get_parsed_and_base_url(server_url) -> tuple[urllib.parse.ParseResult, str]:
|
||||||
def get_discovery_urls(server_url) -> list[str]:
|
def get_discovery_urls(server_url) -> list[str]:
|
||||||
parsed, base_url = get_parsed_and_base_url(server_url)
|
parsed, base_url = get_parsed_and_base_url(server_url)
|
||||||
|
|
||||||
urls = [
|
urls = []
|
||||||
urllib.parse.urljoin(base_url, "/.well-known/oauth-authorization-server"),
|
|
||||||
urllib.parse.urljoin(base_url, "/.well-known/openid-configuration"),
|
|
||||||
]
|
|
||||||
|
|
||||||
if parsed.path and parsed.path != "/":
|
if parsed.path and parsed.path != "/":
|
||||||
urls.append(
|
# Generate discovery URLs based on https://modelcontextprotocol.io/specification/draft/basic/authorization#authorization-server-metadata-discovery
|
||||||
|
tenant = parsed.path.rstrip('/')
|
||||||
|
urls.extend([
|
||||||
urllib.parse.urljoin(
|
urllib.parse.urljoin(
|
||||||
base_url,
|
base_url,
|
||||||
f"/.well-known/oauth-authorization-server{parsed.path.rstrip('/')}",
|
f"/.well-known/oauth-authorization-server{tenant}",
|
||||||
)
|
),
|
||||||
)
|
|
||||||
urls.append(
|
|
||||||
urllib.parse.urljoin(
|
urllib.parse.urljoin(
|
||||||
base_url, f"/.well-known/openid-configuration{parsed.path.rstrip('/')}"
|
base_url,
|
||||||
)
|
f"/.well-known/openid-configuration{tenant}"
|
||||||
|
),
|
||||||
|
urllib.parse.urljoin(
|
||||||
|
base_url,
|
||||||
|
f"{tenant}/.well-known/openid-configuration"
|
||||||
)
|
)
|
||||||
|
])
|
||||||
|
|
||||||
|
urls.extend([
|
||||||
|
urllib.parse.urljoin(base_url, "/.well-known/oauth-authorization-server"),
|
||||||
|
urllib.parse.urljoin(base_url, "/.well-known/openid-configuration"),
|
||||||
|
])
|
||||||
|
|
||||||
return urls
|
return urls
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue