fix(grok): 移除账号类型页 SSO 卡片入口

SSO 仅作为 OAuth 流程内的输入方式,避免与 OAuth/API Key 卡片风格冲突。
This commit is contained in:
jinfeijie bot
2026-07-14 01:47:53 +08:00
parent ad4bf5c60d
commit 6c441637b0
@@ -50,7 +50,7 @@
<input
v-model="form.name"
type="text"
:required="!isGrokSSOImport"
:required="!isGrokSSOInputMethod"
class="input"
:placeholder="t('admin.accounts.enterAccountName')"
data-tour="account-form-name"
@@ -355,7 +355,7 @@
<!-- Account Type Selection (Grok) -->
<div v-if="form.platform === 'grok'">
<label class="input-label">{{ t('admin.accounts.accountType') }}</label>
<div class="mt-2 grid grid-cols-1 gap-3 sm:grid-cols-3" data-tour="account-form-type">
<div class="mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2" data-tour="account-form-type">
<button
type="button"
@click="accountCategory = 'oauth-based'"
@@ -382,36 +382,6 @@
</div>
</button>
<button
type="button"
@click="accountCategory = 'sso_cookie'"
:class="[
'flex items-center gap-3 rounded-lg border-2 p-3 text-left transition-all',
accountCategory === 'sso_cookie'
? 'border-teal-500 bg-teal-50 dark:bg-teal-900/20'
: 'border-gray-200 hover:border-teal-300 dark:border-dark-600 dark:hover:border-teal-700'
]"
>
<div
:class="[
'flex h-8 w-8 shrink-0 items-center justify-center rounded-lg',
accountCategory === 'sso_cookie'
? 'bg-teal-500 text-white'
: 'bg-gray-100 text-gray-500 dark:bg-dark-600 dark:text-gray-400'
]"
>
<Icon name="link" size="sm" />
</div>
<div>
<span class="block text-sm font-medium text-gray-900 dark:text-white">
{{ t('admin.accounts.oauth.grok.ssoCookieAuth') }}
</span>
<span class="text-xs text-gray-500 dark:text-gray-400">
{{ t('admin.accounts.oauth.grok.ssoCookieHint') }}
</span>
</div>
</button>
<button
type="button"
data-testid="grok-account-type-api-key"
@@ -3110,15 +3080,15 @@
:show-proxy-warning="form.platform !== 'openai' && form.platform !== 'grok' && !!form.proxy_id"
:allow-multiple="form.platform === 'anthropic'"
:show-cookie-option="form.platform === 'anthropic'"
:show-refresh-token-option="form.platform === 'openai' || form.platform === 'antigravity' || (form.platform === 'grok' && !isGrokSSOImport)"
:show-refresh-token-option="form.platform === 'openai' || form.platform === 'antigravity' || form.platform === 'grok'"
:show-mobile-refresh-token-option="form.platform === 'openai'"
:show-session-token-option="false"
:show-access-token-option="false"
:show-codex-session-import-option="form.platform === 'openai'"
:show-codex-pat-option="form.platform === 'openai'"
:show-sso-option="form.platform === 'grok'"
:show-manual-option="!isGrokSSOImport"
:initial-input-method="initialOAuthInputMethod"
:show-manual-option="true"
:initial-input-method="'manual'"
:platform="form.platform"
:show-project-id="geminiOAuthType === 'code_assist'"
@generate-url="handleGenerateUrl"
@@ -3630,7 +3600,7 @@ interface TempUnschedRuleForm {
// State
const step = ref(1)
const submitting = ref(false)
const accountCategory = ref<'oauth-based' | 'apikey' | 'bedrock' | 'service_account' | 'sso_cookie'>('oauth-based') // UI selection for account category
const accountCategory = ref<'oauth-based' | 'apikey' | 'bedrock' | 'service_account'>('oauth-based') // UI selection for account category
const addMethod = ref<AddMethod>('oauth') // For oauth-based: 'oauth' or 'setup-token'
const apiKeyBaseUrl = ref('https://api.anthropic.com')
const apiKeyValue = ref('')
@@ -4008,12 +3978,10 @@ const isOAuthFlow = computed(() => {
if (form.platform === 'anthropic' && accountCategory.value === 'bedrock') {
return false
}
return accountCategory.value === 'oauth-based' || (form.platform === 'grok' && accountCategory.value === 'sso_cookie')
return accountCategory.value === 'oauth-based'
})
const isGrokSSOImport = computed(() => form.platform === 'grok' && accountCategory.value === 'sso_cookie')
const initialOAuthInputMethod = computed<AuthInputMethod>(() => isGrokSSOImport.value ? 'sso_cookie' : 'manual')
const isGrokSSOInputMethod = computed(() => form.platform === 'grok' && oauthFlowRef.value?.inputMethod === 'sso_cookie')
const isManualInputMethod = computed(() => {
return oauthFlowRef.value?.inputMethod === 'manual'
@@ -4088,7 +4056,7 @@ watch(
}
if ((form.platform === 'gemini' || form.platform === 'anthropic') && category === 'service_account') {
form.type = 'service_account' as AccountType
} else if (category === 'oauth-based' || (form.platform === 'grok' && category === 'sso_cookie')) {
} else if (category === 'oauth-based') {
form.type = form.platform === 'anthropic' ? method as AccountType : 'oauth'
} else {
form.type = 'apikey'
@@ -4142,9 +4110,6 @@ watch(
if (newPlatform !== 'anthropic' && accountCategory.value === 'bedrock') {
accountCategory.value = 'oauth-based'
}
if (newPlatform !== 'grok' && accountCategory.value === 'sso_cookie') {
accountCategory.value = 'oauth-based'
}
// Reset Bedrock fields when switching platforms
bedrockAccessKeyId.value = ''
bedrockSecretAccessKey.value = ''
@@ -4808,7 +4773,7 @@ const handleVertexServiceAccountDrop = async (event: DragEvent) => {
const handleSubmit = async () => {
// For OAuth-based type, handle OAuth flow (goes to step 2)
if (isOAuthFlow.value) {
if (!isGrokSSOImport.value && !form.name.trim()) {
if (!isGrokSSOInputMethod.value && !form.name.trim()) {
appStore.showError(t('admin.accounts.pleaseEnterAccountName'))
return
}