From 0650c4bc264ef9d998a17fa8288ee2d1dc8fdfec Mon Sep 17 00:00:00 2001 From: jialin Date: Fri, 15 Aug 2025 10:24:31 +0800 Subject: [PATCH] chore: some sso adjustments --- src/pages/login/apis/index.ts | 9 ++++++++ src/pages/login/components/login-form.tsx | 1 + src/pages/login/hooks/use-sso-auth.ts | 25 ++++++++--------------- src/request-config.ts | 1 + 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/pages/login/apis/index.ts b/src/pages/login/apis/index.ts index 05ddb570..a1cb34c8 100644 --- a/src/pages/login/apis/index.ts +++ b/src/pages/login/apis/index.ts @@ -5,6 +5,11 @@ import qs from 'query-string'; export const AUTH_API = '/auth'; +export const AUTH_CONFIG_API = '/auth-config'; + +export const AUTH_OIDC_LOGIN_API = '/auth/oidc/login'; +export const AUTH_SAML_LOGIN_API = '/auth/saml/login'; + export const login = async ( params: { username: string; password: string }, options?: any @@ -38,3 +43,7 @@ export const updatePassword = async (params: any) => { data: params }); }; + +export const fetchAuthConfig = async () => { + return request(AUTH_CONFIG_API); +}; diff --git a/src/pages/login/components/login-form.tsx b/src/pages/login/components/login-form.tsx index 9c91db7d..58dc4afa 100644 --- a/src/pages/login/components/login-form.tsx +++ b/src/pages/login/components/login-form.tsx @@ -19,6 +19,7 @@ const Buttons = styled.div` align-items: flex-start; gap: 24px; width: 360px; + margin-top: 52px; `; const BackButton = styled(Button).attrs({ diff --git a/src/pages/login/hooks/use-sso-auth.ts b/src/pages/login/hooks/use-sso-auth.ts index f7dd2890..bebbca7d 100644 --- a/src/pages/login/hooks/use-sso-auth.ts +++ b/src/pages/login/hooks/use-sso-auth.ts @@ -1,24 +1,17 @@ // hooks/useSSOAuth.ts import { history, useIntl } from '@umijs/max'; import { useEffect, useState } from 'react'; +import { + AUTH_OIDC_LOGIN_API, + AUTH_SAML_LOGIN_API, + fetchAuthConfig +} from '../apis'; type LoginOption = { saml: boolean; oidc: boolean; }; -// sso configuration -async function fetchAuthConfig(url: string) { - try { - const response = await fetch(url); - if (!response.ok) throw new Error(`HTTP ${response.status}`); - return response.json(); - } catch (error) { - console.error('OIDC config error:', error); - throw error; - } -} - export function useSSOAuth({ fetchUserInfo, onSuccess, @@ -42,16 +35,16 @@ export function useSSOAuth({ const sso = params.get('sso'); const oidcLogin = () => { - window.location.href = '/auth/oidc/login'; + window.location.href = AUTH_OIDC_LOGIN_API; }; const samlLogin = () => { - window.location.href = '/auth/saml/login'; + window.location.href = AUTH_SAML_LOGIN_API; }; const init = async () => { try { - const authConfig = await fetchAuthConfig('/auth-config'); + const authConfig = await fetchAuthConfig(); setLoginOption({ oidc: !!authConfig.is_oidc, saml: !!authConfig.is_saml @@ -70,7 +63,7 @@ export function useSSOAuth({ } } catch (error: any) { setLoginOption({ oidc: false, saml: false }); - onError?.(error); + onError?.(new Error(error)); onLoading?.(false); } }; diff --git a/src/request-config.ts b/src/request-config.ts index 5470a38d..6951aaa0 100644 --- a/src/request-config.ts +++ b/src/request-config.ts @@ -3,6 +3,7 @@ import { clearAtomStorage } from '@/atoms/utils'; import { RequestConfig, history } from '@umijs/max'; import { message } from 'antd'; +// no base URL APIs const NoBaseURLAPIs = ['/auth', '/v1-openai', '/version', '/proxy', '/update']; export const requestConfig: RequestConfig = {