hide third-party logins when OAuth 2.0 login is not enabled

This commit is contained in:
MaysWind
2025-10-25 15:19:42 +08:00
parent ce752c992c
commit af586a0432
2 changed files with 14 additions and 6 deletions
+4 -2
View File
@@ -337,8 +337,10 @@ func startWebServer(c *core.CliContext) error {
} }
// External Authentications // External Authentications
apiV1Route.GET("/users/external_auth/list.json", bindApi(api.UserExternalAuths.ExternalAuthListHanlder)) if config.EnableOAuth2Login {
apiV1Route.POST("/users/external_auth/unlink.json", bindApi(api.UserExternalAuths.UnlinkExternalAuthHandler)) apiV1Route.GET("/users/external_auth/list.json", bindApi(api.UserExternalAuths.ExternalAuthListHanlder))
apiV1Route.POST("/users/external_auth/unlink.json", bindApi(api.UserExternalAuths.UnlinkExternalAuthHandler))
}
// Application Cloud Settings // Application Cloud Settings
apiV1Route.GET("/users/settings/cloud/get.json", bindApi(api.UserApplicationCloudSettings.ApplicationSettingsGetHandler)) apiV1Route.GET("/users/settings/cloud/get.json", bindApi(api.UserApplicationCloudSettings.ApplicationSettingsGetHandler))
@@ -63,7 +63,7 @@
</v-card> </v-card>
</v-col> </v-col>
<v-col cols="12"> <v-col cols="12" v-if="isOAuth2Enabled() && (loadingExternalAuth || (thirdPartyLogins && thirdPartyLogins.length))">
<v-card :class="{ 'disabled': loadingExternalAuth }"> <v-card :class="{ 'disabled': loadingExternalAuth }">
<template #title> <template #title>
<div class="d-flex align-center"> <div class="d-flex align-center">
@@ -209,7 +209,7 @@ import { type TokenInfoResponse, SessionInfo } from '@/models/token.ts';
import { isEquals } from '@/lib/common.ts'; import { isEquals } from '@/lib/common.ts';
import { parseSessionInfo } from '@/lib/session.ts'; import { parseSessionInfo } from '@/lib/session.ts';
import { getOIDCCustomDisplayNames, isMCPServerEnabled } from '@/lib/server_settings.ts'; import { isOAuth2Enabled, getOIDCCustomDisplayNames, isMCPServerEnabled } from '@/lib/server_settings.ts';
import { import {
mdiRefresh, mdiRefresh,
@@ -359,8 +359,6 @@ const inputProblemMessage = computed<string | null>(() => {
}); });
function init(): void { function init(): void {
loadingExternalAuth.value = true;
loadingSession.value = true;
reloadExternalAuth(true); reloadExternalAuth(true);
reloadSessions(true); reloadSessions(true);
} }
@@ -403,6 +401,10 @@ function updatePassword(): void {
} }
function reloadExternalAuth(silent?: boolean): void { function reloadExternalAuth(silent?: boolean): void {
if (!isOAuth2Enabled()) {
return;
}
loadingExternalAuth.value = true; loadingExternalAuth.value = true;
userExternalAuthStore.getExternalAuths().then(response => { userExternalAuthStore.getExternalAuths().then(response => {
@@ -426,6 +428,10 @@ function reloadExternalAuth(silent?: boolean): void {
} }
function unlinkExternalAuth(thirdPartyLogin: DesktopPageLinkedThirdPartyLogin): void { function unlinkExternalAuth(thirdPartyLogin: DesktopPageLinkedThirdPartyLogin): void {
if (!isOAuth2Enabled()) {
return;
}
unlinkThirdPartyLoginDialog.value?.open(thirdPartyLogin.externalAuthType).then(() => { unlinkThirdPartyLoginDialog.value?.open(thirdPartyLogin.externalAuthType).then(() => {
reloadExternalAuth(true); reloadExternalAuth(true);
}); });