diff --git a/src/components/settings/ProvidersSettings.tsx b/src/components/settings/ProvidersSettings.tsx index 2ab18f3..b71c736 100644 --- a/src/components/settings/ProvidersSettings.tsx +++ b/src/components/settings/ProvidersSettings.tsx @@ -1018,6 +1018,7 @@ function AddProviderDialog({ : providerDocsUrl; const isOAuth = typeInfo?.isOAuth ?? false; const supportsApiKey = typeInfo?.supportsApiKey ?? false; + const oauthUiHidden = typeInfo?.hideOAuthUi ?? false; const vendorMap = new Map(vendors.map((vendor) => [vendor.id, vendor])); const selectedVendor = selectedType ? vendorMap.get(selectedType) : undefined; const showUserAgentInAddDialog = shouldShowUserAgentFieldForNewProvider(selectedType); @@ -1027,14 +1028,18 @@ function AddProviderDialog({ ? 'oauth_device' : null); // Effective OAuth mode: pure OAuth providers, or dual-mode with oauth selected - const useOAuthFlow = isOAuth && (!supportsApiKey || authMode === 'oauth'); + const useOAuthFlow = isOAuth && !oauthUiHidden && (!supportsApiKey || authMode === 'oauth'); useEffect(() => { if (!selectedVendor || !isOAuth || !supportsApiKey) { return; } + if (oauthUiHidden) { + setAuthMode('apikey'); + return; + } setAuthMode(selectedVendor.defaultAuthMode === 'api_key' ? 'apikey' : 'oauth'); - }, [selectedVendor, isOAuth, supportsApiKey]); + }, [selectedVendor, isOAuth, supportsApiKey, oauthUiHidden]); useEffect(() => { if (selectedType !== 'ark') { @@ -1369,7 +1374,7 @@ function AddProviderDialog({ {/* Auth mode toggle for providers supporting both */} - {isOAuth && supportsApiKey && ( + {isOAuth && supportsApiKey && !oauthUiHidden && (